diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d044ede1d6..df1dfb29dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -132,12 +132,12 @@ jobs: run: | cmake --build build --target test ARGS="-V --timeout 1700 -R 03_NAO_multik" - - name: 04_LJ_DP Test + - 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" + cmake --build build --target test ARGS="-V --timeout 1700 -R 04_FF" - name: 05_rtTDDFT Test env: @@ -186,4 +186,4 @@ jobs: 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'" + cmake --build build --target test ARGS="-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/CMakeLists.txt b/CMakeLists.txt index 166dd12d0a..00d59548c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -654,6 +654,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) 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/docs/advanced/input_files/input-main.md b/docs/advanced/input_files/input-main.md index 21a5e1df9b..5f9b322b9e 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -535,6 +535,7 @@ These variables are used to control general system parameters. - tddft: real-time time-dependent density functional theory (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 @@ -3327,7 +3328,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 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/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/source/Makefile.Objects b/source/Makefile.Objects index 925298c983..d8007a3f7b 100644 --- a/source/Makefile.Objects +++ b/source/Makefile.Objects @@ -267,6 +267,7 @@ 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\ diff --git a/source/source_esolver/CMakeLists.txt b/source/source_esolver/CMakeLists.txt index acfd72e009..939581df88 100644 --- a/source/source_esolver/CMakeLists.txt +++ b/source/source_esolver/CMakeLists.txt @@ -7,6 +7,7 @@ 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 diff --git a/source/source_esolver/esolver.cpp b/source/source_esolver/esolver.cpp index d5b09bee12..50fdb97be7 100644 --- a/source/source_esolver/esolver.cpp +++ b/source/source_esolver/esolver.cpp @@ -18,6 +18,7 @@ extern "C" } #endif #include "esolver_dp.h" +#include "esolver_nep.h" #include "esolver_lj.h" #include "esolver_of.h" #include "esolver_of_tddft.h" @@ -97,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"); @@ -338,6 +343,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_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..82432d2e45 --- /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 + NEP3 nep; ///< NEP3 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_io/read_input_item_system.cpp b/source/source_io/read_input_item_system.cpp index bd123b4d51..ba3398b13a 100644 --- a/source/source_io/read_input_item_system.cpp +++ b/source/source_io/read_input_item_system.cpp @@ -111,17 +111,17 @@ void ReadInput::item_system() 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", "tdofdft", "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` !"); } } }; diff --git a/tests/04_LJ_DP/01_LJ_Anderson/INPUT b/tests/04_FF/01_LJ_Anderson/INPUT similarity index 100% rename from tests/04_LJ_DP/01_LJ_Anderson/INPUT rename to tests/04_FF/01_LJ_Anderson/INPUT 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 100% rename from tests/04_LJ_DP/02_LJ_Berendsen/INPUT rename to tests/04_FF/02_LJ_Berendsen/INPUT 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 100% rename from tests/04_LJ_DP/04_LJ_Langevin/INPUT rename to tests/04_FF/04_LJ_Langevin/INPUT 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 100% rename from tests/04_LJ_DP/05_LJ_MSST/INPUT rename to tests/04_FF/05_LJ_MSST/INPUT 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 100% rename from tests/04_LJ_DP/06_LJ_NHC_NVT/INPUT rename to tests/04_FF/06_LJ_NHC_NVT/INPUT 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 100% rename from tests/04_LJ_DP/07_LJ_NPT_aniso_none/INPUT rename to tests/04_FF/07_LJ_NPT_aniso_none/INPUT 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 100% rename from tests/04_LJ_DP/08_LJ_NPT_aniso_xy/INPUT rename to tests/04_FF/08_LJ_NPT_aniso_xy/INPUT 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 100% rename from tests/04_LJ_DP/09_LJ_NPT_aniso_xz/INPUT rename to tests/04_FF/09_LJ_NPT_aniso_xz/INPUT 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..c22347b7a2 --- /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 3 +md_type npt +md_dt 1 +md_tfirst 300 +md_thermostat nhc +md_dumpfreq 1 +md_seed 1 + +init_vel 1 \ No newline at end of file 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 100% rename from tests/04_LJ_DP/10_LJ_NPT_aniso_yz/INPUT rename to tests/04_FF/10_LJ_NPT_aniso_yz/INPUT 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 100% rename from tests/04_LJ_DP/11_LJ_NPT_iso/INPUT rename to tests/04_FF/11_LJ_NPT_iso/INPUT 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 100% rename from tests/04_LJ_DP/12_LJ_NPT_tri/INPUT rename to tests/04_FF/12_LJ_NPT_tri/INPUT 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 100% rename from tests/04_LJ_DP/13_LJ_NVE/INPUT rename to tests/04_FF/13_LJ_NVE/INPUT 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.dat 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.dat 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 100% rename from tests/04_LJ_DP/14_LJ_rescale_v/INPUT rename to tests/04_FF/14_LJ_rescale_v/INPUT 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.dat 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.dat 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 100% rename from tests/04_LJ_DP/15_LJ_rescaling/INPUT rename to tests/04_FF/15_LJ_rescaling/INPUT 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 100% rename from tests/04_LJ_DP/50_DP_Al/INPUT rename to tests/04_FF/50_DP_Al/INPUT 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/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/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/toolchain/build_abacus_aocc-aocl.sh b/toolchain/build_abacus_aocc-aocl.sh index c06cdd1f4b..c9801b6887 100755 --- a/toolchain/build_abacus_aocc-aocl.sh +++ b/toolchain/build_abacus_aocc-aocl.sh @@ -30,6 +30,7 @@ RAPIDJSON=$INSTALL_DIR/rapidjson-master/ LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 # LIBCOMM=$INSTALL_DIR/LibComm-master # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch @@ -60,6 +61,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ # -DLIBRI_DIR=$LIBRI \ # -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ +# -DNEP_DIR=$NEP_DIR \ # -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 diff --git a/toolchain/build_abacus_gcc-aocl.sh b/toolchain/build_abacus_gcc-aocl.sh index acf5942143..1cd50a1f50 100755 --- a/toolchain/build_abacus_gcc-aocl.sh +++ b/toolchain/build_abacus_gcc-aocl.sh @@ -30,6 +30,7 @@ RAPIDJSON=$INSTALL_DIR/rapidjson-master/ LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 # LIBCOMM=$INSTALL_DIR/LibComm-master # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch @@ -58,6 +59,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ # -DLIBRI_DIR=$LIBRI \ # -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ +# -DNEP_DIR=$NEP_DIR \ # -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 diff --git a/toolchain/build_abacus_gnu.sh b/toolchain/build_abacus_gnu.sh index 1cb6dbf14c..f231855102 100755 --- a/toolchain/build_abacus_gnu.sh +++ b/toolchain/build_abacus_gnu.sh @@ -29,6 +29,7 @@ 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/ +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # LIBRI=$INSTALL_DIR/LibRI-0.2.1.0 # LIBCOMM=$INSTALL_DIR/LibComm-master # LIBTORCH=$INSTALL_DIR/libtorch-2.1.2/share/cmake/Torch @@ -57,6 +58,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ # -DLIBRI_DIR=$LIBRI \ # -DLIBCOMM_DIR=$LIBCOMM \ # -DDeePMD_DIR=$DEEPMD \ +# -DNEP_DIR=$NEP_DIR \ # -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 diff --git a/toolchain/build_abacus_intel.sh b/toolchain/build_abacus_intel.sh index 053ece84ec..9e69f37b52 100755 --- a/toolchain/build_abacus_intel.sh +++ b/toolchain/build_abacus_intel.sh @@ -31,6 +31,7 @@ RAPIDJSON=$INSTALL_DIR/rapidjson-master/ # LIBNPY=$INSTALL_DIR/libnpy-1.0.1/include LIBRI=$INSTALL_DIR/LibRI-0.2.1.1 LIBCOMM=$INSTALL_DIR/LibComm-master +# NEP_DIR=$INSTALL_DIR/NEP_CPU-main # 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 @@ -48,12 +49,13 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -DLIBRI_DIR=$LIBRI \ - -DLIBCOMM_DIR=$LIBCOMM \ + -DLIBCOMM_DIR=$LIBCOMM # -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ # -DENABLE_LIBRI=ON \ # -DDeePMD_DIR=$DEEPMD \ +# -DNEP_DIR=$NEP_DIR \ # -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 diff --git a/toolchain/install_abacus_toolchain.sh b/toolchain/install_abacus_toolchain.sh index 92dad2a761..4e70843e2c 100755 --- a/toolchain/install_abacus_toolchain.sh +++ b/toolchain/install_abacus_toolchain.sh @@ -211,6 +211,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 +248,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}" # ------------------------------------------------------------------------ @@ -596,6 +598,9 @@ while [ $# -ge 1 ]; do --with-libcomm*) with_libcomm=$(read_with "${1}") ;; + --with-nep*) + with_nep=$(read_with "${1}") + ;; --help*) show_help exit 0 diff --git a/toolchain/scripts/stage4/install_nep.sh b/toolchain/scripts/stage4/install_nep.sh new file mode 100755 index 0000000000..42ac0b94ca --- /dev/null +++ b/toolchain/scripts/stage4/install_nep.sh @@ -0,0 +1,156 @@ +#!/bin/bash -e + +# TODO: Review and if possible fix shellcheck errors. +# shellcheck disable=all + +# Last Update in 2025-10-10 + +[ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 +SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" + +nep_ver="main" +nep_sha256="--no-checksum" +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" + else + 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 + +# 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/nep.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 + 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" \ No newline at end of file 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/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index ca3e2e4759..575be14d5b 100755 --- a/toolchain/toolchain_aocc-aocl.sh +++ b/toolchain/toolchain_aocc-aocl.sh @@ -27,6 +27,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ +--with-nep=no \ --with-libnpy=no \ --with-libri=no \ --with-libcomm=no \ diff --git a/toolchain/toolchain_gcc-aocl.sh b/toolchain/toolchain_gcc-aocl.sh index f7b717b257..426be22c59 100755 --- a/toolchain/toolchain_gcc-aocl.sh +++ b/toolchain/toolchain_gcc-aocl.sh @@ -28,6 +28,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ +--with-nep=no \ --with-libnpy=no \ --with-libri=no \ --with-libcomm=no \ diff --git a/toolchain/toolchain_gnu.sh b/toolchain/toolchain_gnu.sh index 03e1c55440..9d4d220c1f 100755 --- a/toolchain/toolchain_gnu.sh +++ b/toolchain/toolchain_gnu.sh @@ -27,6 +27,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ +--with-nep=no \ --with-libnpy=no \ --with-libri=no \ --with-libcomm=no \ diff --git a/toolchain/toolchain_intel.sh b/toolchain/toolchain_intel.sh index bcfcc698a2..45e72a2181 100755 --- a/toolchain/toolchain_intel.sh +++ b/toolchain/toolchain_intel.sh @@ -28,6 +28,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ +--with-nep=no \ --with-libnpy=no \ --with-libri=install \ --with-libcomm=install \