From 29ba84c63b471758d43ca007a877038efc779c5f Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Tue, 7 Oct 2025 02:00:06 +0800 Subject: [PATCH 01/10] update NEP_CPU --- CMakeLists.txt | 9 + source/Makefile.Objects | 1 + source/source_esolver/CMakeLists.txt | 1 + source/source_esolver/esolver.cpp | 9 + source/source_esolver/esolver_nep.cpp | 199 ++++++++++++++++++++ source/source_esolver/esolver_nep.h | 43 +++++ source/source_io/read_input_item_system.cpp | 4 +- toolchain/build_abacus_intel.sh | 1 + 8 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 source/source_esolver/esolver_nep.cpp create mode 100644 source/source_esolver/esolver_nep.h diff --git a/CMakeLists.txt b/CMakeLists.txt index c0c7b83bf8..d1e6d078b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -650,6 +650,15 @@ if(DEFINED DeePMD_DIR) endif() endif() +option(ENABLE_NEPCPU "Enable NEP calculations on CPU" OFF) +if(ENABLE_NEPCPU) + message(STATUS "NEP support enabled.") + include_directories(/home/mosey/devs/NEP_CPU/src/) + link_directories(/home/mosey/devs/NEP_CPU/src/) + add_compile_definitions(__NEP) + target_link_libraries(${ABACUS_BIN_NAME} /home/mosey/devs/NEP_CPU/src/libnep_cpu.so) +endif() + if(DEFINED TensorFlow_DIR) find_package(TensorFlow REQUIRED) include_directories(${TensorFlow_DIR}/include) diff --git a/source/Makefile.Objects b/source/Makefile.Objects index 537ad1a4dd..6b14d9351b 100644 --- a/source/Makefile.Objects +++ b/source/Makefile.Objects @@ -266,6 +266,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..2446fa9579 --- /dev/null +++ b/source/source_esolver/esolver_nep.cpp @@ -0,0 +1,199 @@ +#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; + +ESolver_NEP::ESolver_NEP(const std::string& pot_file): nep(pot_file) +{ + classname = "ESolver_NEP"; + nep_file = pot_file; +} + +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); + _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_?"); + + atype.resize(ucell.nat); + +#ifdef __NEP + /// determine the type map from STRU to DP 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; + } + + // get the total virial by summing over all atomic contributions + 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]; + } + } + + // transform to stress tensor + 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) +{ + std::unordered_map label; + std::string temp; + for (int i = 0; i < nep.element_list.size(); ++i) + { + label[nep.element_list[i]] = i; + } + + 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; + + 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..4aec0a5dfb --- /dev/null +++ b/source/source_esolver/esolver_nep.h @@ -0,0 +1,43 @@ +#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: + ESolver_NEP(const std::string& pot_file); + + void before_all_runners(UnitCell& ucell, const Input_para& inp) override; + void runner(UnitCell& ucell, const int istep) override; + double cal_energy() override; + void cal_force(UnitCell& ucell, ModuleBase::matrix& force) override; + void cal_stress(UnitCell& ucell, ModuleBase::matrix& stress) override; + void after_all_runners(UnitCell& ucell) override; + + private: + void type_map(const UnitCell& ucell); +#ifdef __NEP + NEP3 nep; +#endif + std::string nep_file; + std::vector atype = {}; + double nep_potential; + ModuleBase::matrix nep_force; + ModuleBase::matrix nep_virial; + std::vector _e; + std::vector _f; + std::vector _v; +}; + +} // 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..a72c8574c1 100644 --- a/source/source_io/read_input_item_system.cpp +++ b/source/source_io/read_input_item_system.cpp @@ -111,13 +111,13 @@ 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) { diff --git a/toolchain/build_abacus_intel.sh b/toolchain/build_abacus_intel.sh index 053ece84ec..f742d9b888 100755 --- a/toolchain/build_abacus_intel.sh +++ b/toolchain/build_abacus_intel.sh @@ -49,6 +49,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DRapidJSON_DIR=$RAPIDJSON \ -DLIBRI_DIR=$LIBRI \ -DLIBCOMM_DIR=$LIBCOMM \ + -DENABLE_NEPCPU=ON # -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ From 47e9ec3f7ce5aee7c0d44339e40de13ab5d878a1 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Fri, 10 Oct 2025 16:49:10 +0800 Subject: [PATCH 02/10] update toolchain and document --- CMakeLists.txt | 14 +- cmake/FindNEP.cmake | 46 ++++++ docs/advanced/input_files/input-main.md | 1 + docs/advanced/install.md | 11 ++ docs/advanced/md.md | 6 +- source/source_esolver/esolver_nep.cpp | 40 +++-- source/source_esolver/esolver_nep.h | 85 +++++++++-- source/source_io/read_input_item_system.cpp | 2 +- toolchain/build_abacus_intel.sh | 3 +- toolchain/install_abacus_toolchain.sh | 7 +- toolchain/scripts/stage4/install_nepcpu.sh | 157 ++++++++++++++++++++ toolchain/scripts/stage4/install_stage4.sh | 1 + 12 files changed, 338 insertions(+), 35 deletions(-) create mode 100644 cmake/FindNEP.cmake create mode 100755 toolchain/scripts/stage4/install_nepcpu.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index d1e6d078b9..8d45a9c6c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -650,13 +650,13 @@ if(DEFINED DeePMD_DIR) endif() endif() -option(ENABLE_NEPCPU "Enable NEP calculations on CPU" OFF) -if(ENABLE_NEPCPU) - message(STATUS "NEP support enabled.") - include_directories(/home/mosey/devs/NEP_CPU/src/) - link_directories(/home/mosey/devs/NEP_CPU/src/) - add_compile_definitions(__NEP) - target_link_libraries(${ABACUS_BIN_NAME} /home/mosey/devs/NEP_CPU/src/libnep_cpu.so) +if(DEFINED NEP_DIR) + find_package(NEP REQUIRED) + + if(NEP_FOUND) + add_compile_definitions(__NEP) + target_link_libraries(${ABACUS_BIN_NAME} NEP::nep_cpu) + endif() endif() if(DEFINED TensorFlow_DIR) diff --git a/cmake/FindNEP.cmake b/cmake/FindNEP.cmake new file mode 100644 index 0000000000..13bff5b7bc --- /dev/null +++ b/cmake/FindNEP.cmake @@ -0,0 +1,46 @@ +############################################################################### +# - Find NEP_CPU +# Finds the NEP_CPU header and library. +# +# This module will search for the NEP_CPU 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_CPU library and headers were found. +# NEP_INCLUDE_DIR - The directory where nep.h is located. +# NEP_LIBRARY - The full path to the NEP_CPU library. +# +# It also defines the following imported target: +# +# NEP::nep_cpu - The NEP_CPU library target. +# +############################################################################### + +find_path(NEP_INCLUDE_DIR nep.h + HINTS ${NEP_DIR} + PATH_SUFFIXES "include" + ) + +find_library(NEP_LIBRARY + NAMES nepcpu + 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_cpu) + add_library(NEP::nep_cpu UNKNOWN IMPORTED) + set_target_properties(NEP::nep_cpu PROPERTIES + 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 47670d1735..144a9f909f 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -532,6 +532,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 diff --git a/docs/advanced/install.md b/docs/advanced/install.md index efd624db8b..beb4cbaae4 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-nepcpu=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/source_esolver/esolver_nep.cpp b/source/source_esolver/esolver_nep.cpp index 2446fa9579..83dc20aa6c 100644 --- a/source/source_esolver/esolver_nep.cpp +++ b/source/source_esolver/esolver_nep.cpp @@ -1,24 +1,38 @@ +/** + * @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; -ESolver_NEP::ESolver_NEP(const std::string& pot_file): nep(pot_file) -{ - classname = "ESolver_NEP"; - nep_file = pot_file; -} - 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); @@ -28,10 +42,8 @@ void ESolver_NEP::before_all_runners(UnitCell& ucell, const Input_para& inp) "# Generated by ABACUS ModuleIO::CifParser", "data_?"); - atype.resize(ucell.nat); - #ifdef __NEP - /// determine the type map from STRU to DP model + /// determine the type map from STRU to NEP model type_map(ucell); #endif } @@ -96,7 +108,7 @@ void ESolver_NEP::runner(UnitCell& ucell, const int istep) nep_force(i, 2) = _f[i + 2 * nat] * fact_f; } - // get the total virial by summing over all atomic contributions + // virial std::vector v_sum(9, 0.0); for (int j = 0; j < 9; ++j) { @@ -107,7 +119,7 @@ void ESolver_NEP::runner(UnitCell& ucell, const int istep) } } - // transform to stress tensor + // virial -> stress for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) @@ -156,12 +168,13 @@ void ESolver_NEP::after_all_runners(UnitCell& ucell) #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[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; @@ -180,6 +193,7 @@ void ESolver_NEP::type_map(const UnitCell& ucell) } std::cout << "\n -----------------------------------------------------------------" << std::endl; + // parse the atype based on the element list int iat = 0; for (int it = 0; it < ucell.ntype; ++it) { diff --git a/source/source_esolver/esolver_nep.h b/source/source_esolver/esolver_nep.h index 4aec0a5dfb..82432d2e45 100644 --- a/source/source_esolver/esolver_nep.h +++ b/source/source_esolver/esolver_nep.h @@ -14,28 +14,93 @@ namespace ModuleESolver class ESolver_NEP : public ESolver { public: - ESolver_NEP(const std::string& pot_file); +#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 nep; ///< NEP3 object for NEP calculations #endif - std::string nep_file; - std::vector atype = {}; - double nep_potential; - ModuleBase::matrix nep_force; - ModuleBase::matrix nep_virial; - std::vector _e; - std::vector _f; - std::vector _v; + + 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 diff --git a/source/source_io/read_input_item_system.cpp b/source/source_io/read_input_item_system.cpp index a72c8574c1..ba3398b13a 100644 --- a/source/source_io/read_input_item_system.cpp +++ b/source/source_io/read_input_item_system.cpp @@ -121,7 +121,7 @@ void ReadInput::item_system() { 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/toolchain/build_abacus_intel.sh b/toolchain/build_abacus_intel.sh index f742d9b888..d00899f516 100755 --- a/toolchain/build_abacus_intel.sh +++ b/toolchain/build_abacus_intel.sh @@ -48,8 +48,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ -DENABLE_RAPIDJSON=ON \ -DRapidJSON_DIR=$RAPIDJSON \ -DLIBRI_DIR=$LIBRI \ - -DLIBCOMM_DIR=$LIBCOMM \ - -DENABLE_NEPCPU=ON + -DLIBCOMM_DIR=$LIBCOMM # -DENABLE_MLALGO=1 \ # -DTorch_DIR=$LIBTORCH \ # -Dlibnpy_INCLUDE_DIR=$LIBNPY \ diff --git a/toolchain/install_abacus_toolchain.sh b/toolchain/install_abacus_toolchain.sh index 92dad2a761..38d9898b62 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-nepcpu 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 nepcpu" 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-nepcpu*) + with_nepcpu=$(read_with "${1}") + ;; --help*) show_help exit 0 diff --git a/toolchain/scripts/stage4/install_nepcpu.sh b/toolchain/scripts/stage4/install_nepcpu.sh new file mode 100755 index 0000000000..6f38c91eba --- /dev/null +++ b/toolchain/scripts/stage4/install_nepcpu.sh @@ -0,0 +1,157 @@ +#!/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)" + +nepcpu_ver="main" +nepcpu_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_nepcpu" ] && rm "${BUILDDIR}/setup_nepcpu" + +NEPCPU_CFLAGS="" +NEPCPU_LDFLAGS="" +NEPCPU_LIBS="" +! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" +cd "${BUILDDIR}" + +case "$with_nepcpu" in + __INSTALL__) + echo "==================== Installing NEP_CPU ====================" + dirname="NEP_CPU-${nepcpu_ver}" + pkg_install_dir="${INSTALLDIR}/nep_cpu-${nepcpu_ver}" + install_lock_file="$pkg_install_dir/install_successful" + filename="NEP_CPU-${nepcpu_ver}.tar.gz" + url="https://codeload.github.com/brucefan1983/NEP_CPU/tar.gz/${nepcpu_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 "${nepcpu_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 +# Compiler - Use CXX from the environment +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 = libnepcpu.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 + NEPCPU_CFLAGS="-I'${pkg_install_dir}/include'" + NEPCPU_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; + + __SYSTEM__) + echo "==================== Finding NEP_CPU from system paths ====================" + echo "Finding NEP_CPU from system paths is not supported yet." + echo "Please use __INSTALL__ or provide a path to a pre-installed version." + exit 1 + ;; + + __DONTUSE__) ;; + + *) + echo "==================== Linking NEP_CPU to user paths ====================" + pkg_install_dir="$with_nepcpu" + check_dir "${pkg_install_dir}/lib" + check_dir "${pkg_install_dir}/include" + NEPCPU_CFLAGS="-I'${pkg_install_dir}/include'" + NEPCPU_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + ;; +esac + +if [ "$with_nepcpu" != "__DONTUSE__" ]; then + NEPCPU_LIBS="-lnepcpu" + if [ "$with_nepcpu" != "__SYSTEM__" ]; then + cat << EOF > "${BUILDDIR}/setup_nepcpu" +prepend_path LD_LIBRARY_PATH "$pkg_install_dir/lib" +prepend_path LD_RUN_PATH "$pkg_install_dir/lib" +prepend_path LIBRARY_PATH "$pkg_install_dir/lib" +prepend_path CPATH "$pkg_install_dir/include" +export LD_LIBRARY_PATH="$pkg_install_dir/lib":\${LD_LIBRARY_PATH} +export LD_RUN_PATH="$pkg_install_dir/lib":\${LD_RUN_PATH} +export LIBRARY_PATH="$pkg_install_dir/lib":\${LIBRARY_PATH} +export CPATH="$pkg_install_dir/include":\${CPATH} +EOF + cat "${BUILDDIR}/setup_nepcpu" >> $SETUPFILE + fi + cat << EOF >> "${BUILDDIR}/setup_nepcpu" +export NEPCPU_CFLAGS="${NEPCPU_CFLAGS}" +export NEPCPU_LDFLAGS="${NEPCPU_LDFLAGS}" +export NEPCPU_LIBS="${NEPCPU_LIBS}" +export CP_DFLAGS="\${CP_DFLAGS} -D__NEPCPU" +export CP_CFLAGS="\${CP_CFLAGS} \${NEPCPU_CFLAGS}" +export CP_LDFLAGS="\${CP_LDFLAGS} \${NEPCPU_LDFLAGS}" +export CP_LIBS="\${NEPCPU_LIBS} \${CP_LIBS}" +export NEPCPU_ROOT="$pkg_install_dir" +EOF +fi + +load "${BUILDDIR}/setup_nepcpu" +write_toolchain_env "${INSTALLDIR}" + +cd "${ROOTDIR}" +report_timing "nepcpu" \ No newline at end of file diff --git a/toolchain/scripts/stage4/install_stage4.sh b/toolchain/scripts/stage4/install_stage4.sh index b5c7cf5eed..a7ad05dd83 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_nepcpu.sh # EOF From 43b4b903c00d1bdd62b82c8d9716f05423a03197 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Fri, 10 Oct 2025 18:21:08 +0800 Subject: [PATCH 03/10] update cmake file --- CMakeLists.txt | 1 + toolchain/scripts/stage4/install_nepcpu.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d45a9c6c4..66e47bc518 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,6 +655,7 @@ if(DEFINED NEP_DIR) if(NEP_FOUND) add_compile_definitions(__NEP) + add_compile_options(-Wl,--no-as-needed) target_link_libraries(${ABACUS_BIN_NAME} NEP::nep_cpu) endif() endif() diff --git a/toolchain/scripts/stage4/install_nepcpu.sh b/toolchain/scripts/stage4/install_nepcpu.sh index 6f38c91eba..01e7476a7c 100755 --- a/toolchain/scripts/stage4/install_nepcpu.sh +++ b/toolchain/scripts/stage4/install_nepcpu.sh @@ -142,7 +142,7 @@ EOF export NEPCPU_CFLAGS="${NEPCPU_CFLAGS}" export NEPCPU_LDFLAGS="${NEPCPU_LDFLAGS}" export NEPCPU_LIBS="${NEPCPU_LIBS}" -export CP_DFLAGS="\${CP_DFLAGS} -D__NEPCPU" +export CP_DFLAGS="\${CP_DFLAGS} -D__NEP" export CP_CFLAGS="\${CP_CFLAGS} \${NEPCPU_CFLAGS}" export CP_LDFLAGS="\${CP_LDFLAGS} \${NEPCPU_LDFLAGS}" export CP_LIBS="\${NEPCPU_LIBS} \${CP_LIBS}" From 094cdfd62152761b156079a84468e2c20ab0237b Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Fri, 10 Oct 2025 19:52:24 +0800 Subject: [PATCH 04/10] update cmake file --- CMakeLists.txt | 1 - cmake/FindNEP.cmake | 1 + toolchain/scripts/stage4/install_nepcpu.sh | 2 ++ 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 66e47bc518..8d45a9c6c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,7 +655,6 @@ if(DEFINED NEP_DIR) if(NEP_FOUND) add_compile_definitions(__NEP) - add_compile_options(-Wl,--no-as-needed) target_link_libraries(${ABACUS_BIN_NAME} NEP::nep_cpu) endif() endif() diff --git a/cmake/FindNEP.cmake b/cmake/FindNEP.cmake index 13bff5b7bc..4a2ce0cc29 100644 --- a/cmake/FindNEP.cmake +++ b/cmake/FindNEP.cmake @@ -37,6 +37,7 @@ if(NEP_FOUND) if(NOT TARGET NEP::nep_cpu) add_library(NEP::nep_cpu UNKNOWN IMPORTED) set_target_properties(NEP::nep_cpu PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION "${NEP_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${NEP_INCLUDE_DIR}" ) diff --git a/toolchain/scripts/stage4/install_nepcpu.sh b/toolchain/scripts/stage4/install_nepcpu.sh index 01e7476a7c..519be593f1 100755 --- a/toolchain/scripts/stage4/install_nepcpu.sh +++ b/toolchain/scripts/stage4/install_nepcpu.sh @@ -131,10 +131,12 @@ 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_nepcpu" >> $SETUPFILE fi From 7216372542eee1ff7847e36e33818355f5d6d4d4 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Tue, 14 Oct 2025 23:38:07 +0800 Subject: [PATCH 05/10] update test --- tests/04_LJ_DP/51_NEP_HfO2/INPUT | 21 + tests/04_LJ_DP/51_NEP_HfO2/README | 1 + tests/04_LJ_DP/51_NEP_HfO2/STRU | 46 + tests/04_LJ_DP/51_NEP_HfO2/result.ref | 5 + tests/PP_ORB/nep_hfo2.txt | 2478 +++++++++++++++++++++++++ 5 files changed, 2551 insertions(+) create mode 100644 tests/04_LJ_DP/51_NEP_HfO2/INPUT create mode 100644 tests/04_LJ_DP/51_NEP_HfO2/README create mode 100644 tests/04_LJ_DP/51_NEP_HfO2/STRU create mode 100644 tests/04_LJ_DP/51_NEP_HfO2/result.ref create mode 100644 tests/PP_ORB/nep_hfo2.txt diff --git a/tests/04_LJ_DP/51_NEP_HfO2/INPUT b/tests/04_LJ_DP/51_NEP_HfO2/INPUT new file mode 100644 index 0000000000..c22347b7a2 --- /dev/null +++ b/tests/04_LJ_DP/51_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_LJ_DP/51_NEP_HfO2/README b/tests/04_LJ_DP/51_NEP_HfO2/README new file mode 100644 index 0000000000..59471a3d63 --- /dev/null +++ b/tests/04_LJ_DP/51_NEP_HfO2/README @@ -0,0 +1 @@ +This test is for NEP potential in source_esolver diff --git a/tests/04_LJ_DP/51_NEP_HfO2/STRU b/tests/04_LJ_DP/51_NEP_HfO2/STRU new file mode 100644 index 0000000000..392b39a9de --- /dev/null +++ b/tests/04_LJ_DP/51_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_LJ_DP/51_NEP_HfO2/result.ref b/tests/04_LJ_DP/51_NEP_HfO2/result.ref new file mode 100644 index 0000000000..65d0d35b78 --- /dev/null +++ b/tests/04_LJ_DP/51_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/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 From e0d52420da5d0d2dacf80025e965e280d568c328 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Wed, 15 Oct 2025 00:03:02 +0800 Subject: [PATCH 06/10] update toolchain script --- toolchain/build_abacus_aocc-aocl.sh | 2 ++ toolchain/build_abacus_gcc-aocl.sh | 2 ++ toolchain/build_abacus_gnu.sh | 2 ++ toolchain/build_abacus_intel.sh | 2 ++ toolchain/toolchain_aocc-aocl.sh | 1 + toolchain/toolchain_gcc-aocl.sh | 1 + toolchain/toolchain_gnu.sh | 1 + toolchain/toolchain_intel.sh | 1 + 8 files changed, 12 insertions(+) diff --git a/toolchain/build_abacus_aocc-aocl.sh b/toolchain/build_abacus_aocc-aocl.sh index c06cdd1f4b..bf5fbc7554 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..815549cdaf 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..809428fc48 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 d00899f516..6743ff9e90 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 @@ -54,6 +55,7 @@ cmake -B $BUILD_DIR -DCMAKE_INSTALL_PREFIX=$PREFIX \ # -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/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index ca3e2e4759..739bd55aa9 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-nepcpu=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..a1b783930e 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-nepcpu=no \ --with-libnpy=no \ --with-libri=no \ --with-libcomm=no \ diff --git a/toolchain/toolchain_gnu.sh b/toolchain/toolchain_gnu.sh index 03e1c55440..7388e870c4 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-nepcpu=no \ --with-libnpy=no \ --with-libri=no \ --with-libcomm=no \ diff --git a/toolchain/toolchain_intel.sh b/toolchain/toolchain_intel.sh index bcfcc698a2..cc37c905f3 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-nepcpu=no \ --with-libnpy=no \ --with-libri=install \ --with-libcomm=install \ From 53dc7f7a9e8563e184b396328b2daaecac459100 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Wed, 15 Oct 2025 14:33:28 +0800 Subject: [PATCH 07/10] remove nep_cpu; update test case and toolchain script --- CMakeLists.txt | 2 +- cmake/FindNEP.cmake | 22 +++--- .../{04_LJ_DP => 04_FF}/01_LJ_Anderson/INPUT | 0 .../{04_LJ_DP => 04_FF}/01_LJ_Anderson/README | 0 tests/{04_LJ_DP => 04_FF}/01_LJ_Anderson/STRU | 0 .../01_LJ_Anderson/result.ref | 0 .../{04_LJ_DP => 04_FF}/02_LJ_Berendsen/INPUT | 0 .../02_LJ_Berendsen/README | 0 .../{04_LJ_DP => 04_FF}/02_LJ_Berendsen/STRU | 0 .../02_LJ_Berendsen/result.ref | 0 tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/INPUT | 0 tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/README | 0 tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/STRU | 0 .../{04_LJ_DP => 04_FF}/03_LJ_FIRE/result.ref | 0 .../{04_LJ_DP => 04_FF}/04_LJ_Langevin/INPUT | 0 .../{04_LJ_DP => 04_FF}/04_LJ_Langevin/README | 0 tests/{04_LJ_DP => 04_FF}/04_LJ_Langevin/STRU | 0 .../04_LJ_Langevin/result.ref | 0 tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/INPUT | 0 tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/README | 0 tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/STRU | 0 .../{04_LJ_DP => 04_FF}/05_LJ_MSST/result.ref | 0 tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/INPUT | 0 .../{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/README | 0 tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/STRU | 0 .../06_LJ_NHC_NVT/result.ref | 0 .../07_LJ_NPT_aniso_none/INPUT | 0 .../07_LJ_NPT_aniso_none/README | 0 .../07_LJ_NPT_aniso_none/STRU | 0 .../07_LJ_NPT_aniso_none/result.ref | 0 .../08_LJ_NPT_aniso_xy/INPUT | 0 .../08_LJ_NPT_aniso_xy/README | 0 .../08_LJ_NPT_aniso_xy/STRU | 0 .../08_LJ_NPT_aniso_xy/result.ref | 0 .../09_LJ_NPT_aniso_xz/INPUT | 0 .../09_LJ_NPT_aniso_xz/README | 0 .../09_LJ_NPT_aniso_xz/STRU | 0 .../09_LJ_NPT_aniso_xz/result.ref | 0 .../51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/INPUT | 0 .../51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/README | 0 .../51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/STRU | 0 .../101_NEP_HfO2}/result.ref | 0 .../10_LJ_NPT_aniso_yz/INPUT | 0 .../10_LJ_NPT_aniso_yz/README | 0 .../10_LJ_NPT_aniso_yz/STRU | 0 .../10_LJ_NPT_aniso_yz/result.ref | 0 tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/INPUT | 0 .../{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/README | 0 tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/STRU | 0 .../11_LJ_NPT_iso/result.ref | 0 tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/INPUT | 0 .../{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/README | 0 tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/STRU | 0 .../12_LJ_NPT_tri/result.ref | 0 tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/INPUT | 0 tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/README | 0 .../{04_LJ_DP => 04_FF}/13_LJ_NVE/STRU_MD_155 | 0 .../{04_LJ_DP => 04_FF}/13_LJ_NVE/result.ref | 0 .../{04_LJ_DP => 04_FF}/14_LJ_rescale_v/INPUT | 0 .../14_LJ_rescale_v/README | 0 .../14_LJ_rescale_v/result.ref | 0 .../{04_LJ_DP => 04_FF}/15_LJ_rescaling/INPUT | 0 .../15_LJ_rescaling/README | 0 .../{04_LJ_DP => 04_FF}/15_LJ_rescaling/STRU | 0 .../15_LJ_rescaling/result.ref | 0 .../{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/INPUT | 0 .../{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/README | 0 tests/{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/STRU | 0 .../16_LJ_RE_rule1/result.ref | 0 .../17_LJ_CR_multi_ele/INPUT | 0 .../17_LJ_CR_multi_ele/README | 0 .../17_LJ_CR_multi_ele/STRU | 0 .../17_LJ_CR_multi_ele/result.ref | 0 .../18_LJ_single_rule2/INPUT | 0 .../18_LJ_single_rule2/README | 0 .../18_LJ_single_rule2/STRU | 0 .../18_LJ_single_rule2/result.ref | 0 tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/EXIT | 0 tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/INPUT | 0 .../{04_LJ_DP => 04_FF}/19_LJ_RE_stop/README | 0 tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/STRU | 0 .../19_LJ_RE_stop/result.ref | 0 tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/INPUT | 0 .../{04_LJ_DP => 04_FF}/20_LJ_dry_run/README | 0 tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/STRU | 0 .../20_LJ_dry_run/result.ref | 0 tests/{04_LJ_DP => 04_FF}/50_DP_Al/INPUT | 0 tests/{04_LJ_DP => 04_FF}/50_DP_Al/README | 0 tests/{04_LJ_DP => 04_FF}/50_DP_Al/STRU | 0 tests/{04_LJ_DP => 04_FF}/50_DP_Al/result.ref | 0 tests/{04_LJ_DP => 04_FF}/CASES_CPU.txt | 1 + tests/{04_LJ_DP => 04_FF}/CMakeLists.txt | 8 +- tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat | 2 - .../OUT.autotest/Restart_md.dat | 2 - .../OUT.autotest/STRU/STRU_MD_10 | 49 ------------ tests/CMakeLists.txt | 2 +- tests/README | 2 +- toolchain/build_abacus_aocc-aocl.sh | 2 +- toolchain/build_abacus_gcc-aocl.sh | 2 +- toolchain/build_abacus_gnu.sh | 2 +- toolchain/build_abacus_intel.sh | 2 +- toolchain/install_abacus_toolchain.sh | 8 +- .../{install_nepcpu.sh => install_nep.sh} | 77 +++++++++---------- toolchain/scripts/stage4/install_stage4.sh | 2 +- toolchain/toolchain_aocc-aocl.sh | 2 +- toolchain/toolchain_gcc-aocl.sh | 2 +- toolchain/toolchain_gnu.sh | 2 +- toolchain/toolchain_intel.sh | 2 +- 108 files changed, 70 insertions(+), 123 deletions(-) rename tests/{04_LJ_DP => 04_FF}/01_LJ_Anderson/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/01_LJ_Anderson/README (100%) rename tests/{04_LJ_DP => 04_FF}/01_LJ_Anderson/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/01_LJ_Anderson/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/02_LJ_Berendsen/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/02_LJ_Berendsen/README (100%) rename tests/{04_LJ_DP => 04_FF}/02_LJ_Berendsen/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/02_LJ_Berendsen/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/README (100%) rename tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/03_LJ_FIRE/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/04_LJ_Langevin/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/04_LJ_Langevin/README (100%) rename tests/{04_LJ_DP => 04_FF}/04_LJ_Langevin/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/04_LJ_Langevin/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/README (100%) rename tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/05_LJ_MSST/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/README (100%) rename tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/06_LJ_NHC_NVT/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/07_LJ_NPT_aniso_none/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/07_LJ_NPT_aniso_none/README (100%) rename tests/{04_LJ_DP => 04_FF}/07_LJ_NPT_aniso_none/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/07_LJ_NPT_aniso_none/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/08_LJ_NPT_aniso_xy/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/08_LJ_NPT_aniso_xy/README (100%) rename tests/{04_LJ_DP => 04_FF}/08_LJ_NPT_aniso_xy/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/08_LJ_NPT_aniso_xy/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/09_LJ_NPT_aniso_xz/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/09_LJ_NPT_aniso_xz/README (100%) rename tests/{04_LJ_DP => 04_FF}/09_LJ_NPT_aniso_xz/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/09_LJ_NPT_aniso_xz/result.ref (100%) rename tests/{04_LJ_DP/51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/INPUT (100%) rename tests/{04_LJ_DP/51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/README (100%) rename tests/{04_LJ_DP/51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/STRU (100%) rename tests/{04_LJ_DP/51_NEP_HfO2 => 04_FF/101_NEP_HfO2}/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/10_LJ_NPT_aniso_yz/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/10_LJ_NPT_aniso_yz/README (100%) rename tests/{04_LJ_DP => 04_FF}/10_LJ_NPT_aniso_yz/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/10_LJ_NPT_aniso_yz/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/README (100%) rename tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/11_LJ_NPT_iso/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/README (100%) rename tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/12_LJ_NPT_tri/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/README (100%) rename tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/STRU_MD_155 (100%) rename tests/{04_LJ_DP => 04_FF}/13_LJ_NVE/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/14_LJ_rescale_v/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/14_LJ_rescale_v/README (100%) rename tests/{04_LJ_DP => 04_FF}/14_LJ_rescale_v/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/15_LJ_rescaling/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/15_LJ_rescaling/README (100%) rename tests/{04_LJ_DP => 04_FF}/15_LJ_rescaling/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/15_LJ_rescaling/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/README (100%) rename tests/{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/16_LJ_RE_rule1/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/17_LJ_CR_multi_ele/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/17_LJ_CR_multi_ele/README (100%) rename tests/{04_LJ_DP => 04_FF}/17_LJ_CR_multi_ele/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/17_LJ_CR_multi_ele/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/18_LJ_single_rule2/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/18_LJ_single_rule2/README (100%) rename tests/{04_LJ_DP => 04_FF}/18_LJ_single_rule2/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/18_LJ_single_rule2/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/EXIT (100%) rename tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/README (100%) rename tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/19_LJ_RE_stop/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/README (100%) rename tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/20_LJ_dry_run/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/50_DP_Al/INPUT (100%) rename tests/{04_LJ_DP => 04_FF}/50_DP_Al/README (100%) rename tests/{04_LJ_DP => 04_FF}/50_DP_Al/STRU (100%) rename tests/{04_LJ_DP => 04_FF}/50_DP_Al/result.ref (100%) rename tests/{04_LJ_DP => 04_FF}/CASES_CPU.txt (95%) rename tests/{04_LJ_DP => 04_FF}/CMakeLists.txt (62%) delete mode 100644 tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat delete mode 100644 tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat delete mode 100644 tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 rename toolchain/scripts/stage4/{install_nepcpu.sh => install_nep.sh} (66%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 011db96c95..00d59548c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -659,7 +659,7 @@ if(DEFINED NEP_DIR) if(NEP_FOUND) add_compile_definitions(__NEP) - target_link_libraries(${ABACUS_BIN_NAME} NEP::nep_cpu) + target_link_libraries(${ABACUS_BIN_NAME} NEP::nep) endif() endif() diff --git a/cmake/FindNEP.cmake b/cmake/FindNEP.cmake index 4a2ce0cc29..e20734f5c0 100644 --- a/cmake/FindNEP.cmake +++ b/cmake/FindNEP.cmake @@ -1,21 +1,23 @@ ############################################################################### -# - Find NEP_CPU -# Finds the NEP_CPU header and library. +# - Find NEP +# Finds the NEP header and library. # -# This module will search for the NEP_CPU library, looking for a hint +# 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_CPU library and headers were found. +# 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_CPU library. +# NEP_LIBRARY - The full path to the NEP library. # # It also defines the following imported target: # -# NEP::nep_cpu - The NEP_CPU library 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} @@ -23,7 +25,7 @@ find_path(NEP_INCLUDE_DIR nep.h ) find_library(NEP_LIBRARY - NAMES nepcpu + NAMES nep HINTS ${NEP_DIR} PATH_SUFFIXES "lib" ) @@ -34,9 +36,9 @@ find_package_handle_standard_args(NEP NEP_LIBRARY NEP_INCLUDE_DIR) if(NEP_FOUND) - if(NOT TARGET NEP::nep_cpu) - add_library(NEP::nep_cpu UNKNOWN IMPORTED) - set_target_properties(NEP::nep_cpu PROPERTIES + 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}" 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_LJ_DP/51_NEP_HfO2/INPUT b/tests/04_FF/101_NEP_HfO2/INPUT similarity index 100% rename from tests/04_LJ_DP/51_NEP_HfO2/INPUT rename to tests/04_FF/101_NEP_HfO2/INPUT diff --git a/tests/04_LJ_DP/51_NEP_HfO2/README b/tests/04_FF/101_NEP_HfO2/README similarity index 100% rename from tests/04_LJ_DP/51_NEP_HfO2/README rename to tests/04_FF/101_NEP_HfO2/README diff --git a/tests/04_LJ_DP/51_NEP_HfO2/STRU b/tests/04_FF/101_NEP_HfO2/STRU similarity index 100% rename from tests/04_LJ_DP/51_NEP_HfO2/STRU rename to tests/04_FF/101_NEP_HfO2/STRU diff --git a/tests/04_LJ_DP/51_NEP_HfO2/result.ref b/tests/04_FF/101_NEP_HfO2/result.ref similarity index 100% rename from tests/04_LJ_DP/51_NEP_HfO2/result.ref rename to tests/04_FF/101_NEP_HfO2/result.ref 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/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/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/04_LJ_DP/13_LJ_NVE/Restart_md.dat b/tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat deleted file mode 100644 index d00a745855..0000000000 --- a/tests/04_LJ_DP/13_LJ_NVE/Restart_md.dat +++ /dev/null @@ -1,2 +0,0 @@ -155 -0.000950045 diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat b/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat deleted file mode 100644 index aaa07929f1..0000000000 --- a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/Restart_md.dat +++ /dev/null @@ -1,2 +0,0 @@ -10 -0.000950045 diff --git a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 b/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 deleted file mode 100644 index 47e784dcef..0000000000 --- a/tests/04_LJ_DP/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 +++ /dev/null @@ -1,49 +0,0 @@ -ATOMIC_SPECIES -He 4.0026 auto auto - -LATTICE_CONSTANT -1.8897270000 - -LATTICE_VECTORS - 10.0000000000 0.0000000000 0.0000000000 - 0.0000000000 10.0000000000 0.0000000000 - 0.0000000000 0.0000000000 10.0000000000 - -ATOMIC_POSITIONS -Cartesian - -He #label -0.0000 #magnetism -32 #number of atoms - 0.0655588081 9.9683119490 0.0573495702 m 1 1 1 v 0.0002950037 -0.0001359087 0.0002817142 - 0.0296020455 9.9394287800 5.0974576575 m 1 1 1 v 0.0001450707 -0.0002659284 0.0004288033 - 9.8437701902 5.0285548903 9.9750151927 m 1 1 1 v -0.0007044281 0.0001389467 -0.0001200141 - 0.1593199064 4.8142404625 5.0254534456 m 1 1 1 v 0.0007415303 -0.0008638378 0.0001205085 - 5.0478627152 0.1039334022 9.9257632192 m 1 1 1 v 0.0002314661 0.0004741028 -0.0003442097 - 5.0029102003 9.9636970071 5.0330422438 m 1 1 1 v 0.0000172209 -0.0001939876 0.0001700901 - 4.8903853112 4.9686490249 0.0111471151 m 1 1 1 v -0.0004991972 -0.0001467827 0.0000501866 - 5.0777210495 5.0598930691 4.8868119138 m 1 1 1 v 0.0003692795 0.0002563320 -0.0005158799 - 2.6540295807 2.5271295893 0.0063399217 m 1 1 1 v 0.0007084865 0.0001346339 0.0000232620 - 2.5161768072 2.4343319000 5.0855185376 m 1 1 1 v 0.0000798909 -0.0003153276 0.0003981596 - 2.4885226114 7.6183654890 9.9916893544 m 1 1 1 v -0.0000705801 0.0005501795 -0.0000119107 - 2.5472229404 7.3903651016 4.9353714563 m 1 1 1 v 0.0001986861 -0.0004975157 -0.0003020557 - 7.4815287957 2.4263888494 9.9233415484 m 1 1 1 v -0.0000920512 -0.0003376769 -0.0003536841 - 7.5241804124 2.5573040389 4.9833906701 m 1 1 1 v 0.0001258496 0.0002684644 -0.0000759589 - 7.4695431022 7.4394976591 9.8722710346 m 1 1 1 v -0.0001710906 -0.0002611367 -0.0005919685 - 7.5005490316 7.4428194462 5.1135787733 m 1 1 1 v -0.0000055483 -0.0002727539 0.0005241266 - 2.4904082317 0.1601904807 2.5115332253 m 1 1 1 v -0.0000457050 0.0007460947 0.0000629334 - 2.4331552911 9.9859414563 7.5652838492 m 1 1 1 v -0.0003120657 -0.0000668895 0.0003013885 - 2.5023759747 5.0062549748 2.4352866258 m 1 1 1 v -0.0000001888 0.0000162094 -0.0003142300 - 2.5546402518 5.0993060966 7.3995116538 m 1 1 1 v 0.0002383422 0.0004574823 -0.0004564841 - 7.5185693929 9.9213221538 2.4952978333 m 1 1 1 v 0.0000890360 -0.0003842210 -0.0000176632 - 7.5566224950 0.0732059047 7.4670019245 m 1 1 1 v 0.0002452208 0.0003541221 -0.0001600036 - 7.4586761755 5.0230751233 2.4212251455 m 1 1 1 v -0.0001945627 0.0001116452 -0.0003764660 - 7.5826720157 5.0347139511 7.5141572910 m 1 1 1 v 0.0003678149 0.0001399331 0.0000487214 - 0.0089573689 2.5662392942 2.4973462274 m 1 1 1 v 0.0000351825 0.0003053353 -0.0000266476 - 0.0417566390 2.4636651990 7.6067552685 m 1 1 1 v 0.0002120403 -0.0001648501 0.0005167711 - 9.9989679634 7.5404906965 2.5014145451 m 1 1 1 v -0.0000047379 0.0001780690 0.0000184666 - 9.8612024820 7.6473271727 7.4337306273 m 1 1 1 v -0.0006222054 0.0006675675 -0.0002959123 - 5.0432660960 2.3783889173 2.5889289401 m 1 1 1 v 0.0002188891 -0.0005654607 0.0004240516 - 4.9250307726 2.4734365320 7.3864959938 m 1 1 1 v -0.0003367943 -0.0001065234 -0.0005436354 - 4.9123907180 7.4499967239 2.6171837953 m 1 1 1 v -0.0003999327 -0.0002036017 0.0005137604 - 4.8124246568 7.4935346648 7.6353053219 m 1 1 1 v -0.0008599223 -0.0000167156 0.0006237795 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/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 bf5fbc7554..c9801b6887 100755 --- a/toolchain/build_abacus_aocc-aocl.sh +++ b/toolchain/build_abacus_aocc-aocl.sh @@ -30,7 +30,7 @@ RAPIDJSON=$INSTALL_DIR/rapidjson-master/ LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome -# NEP_DIR=$INSTALL_DIR/nep_cpu-main +# 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 diff --git a/toolchain/build_abacus_gcc-aocl.sh b/toolchain/build_abacus_gcc-aocl.sh index 815549cdaf..1cd50a1f50 100755 --- a/toolchain/build_abacus_gcc-aocl.sh +++ b/toolchain/build_abacus_gcc-aocl.sh @@ -30,7 +30,7 @@ RAPIDJSON=$INSTALL_DIR/rapidjson-master/ LAPACK=$AOCLhome/lib SCALAPACK=$AOCLhome/lib FFTW3=$AOCLhome -# NEP_DIR=$INSTALL_DIR/nep_cpu-main +# 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 diff --git a/toolchain/build_abacus_gnu.sh b/toolchain/build_abacus_gnu.sh index 809428fc48..f231855102 100755 --- a/toolchain/build_abacus_gnu.sh +++ b/toolchain/build_abacus_gnu.sh @@ -29,7 +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 +# 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 diff --git a/toolchain/build_abacus_intel.sh b/toolchain/build_abacus_intel.sh index 6743ff9e90..9e69f37b52 100755 --- a/toolchain/build_abacus_intel.sh +++ b/toolchain/build_abacus_intel.sh @@ -31,7 +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 +# 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 diff --git a/toolchain/install_abacus_toolchain.sh b/toolchain/install_abacus_toolchain.sh index 38d9898b62..4e70843e2c 100755 --- a/toolchain/install_abacus_toolchain.sh +++ b/toolchain/install_abacus_toolchain.sh @@ -211,7 +211,7 @@ 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-nepcpu Enable NEP (CPU version) for machine learning potentials + --with-nep Enable NEP (CPU version) for machine learning potentials Default = no FURTHER INSTRUCTIONS @@ -248,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 nepcpu" +lib_list="fftw libxc scalapack elpa cereal rapidjson libtorch libnpy libri libcomm nep" package_list="${tool_list} ${mpi_list} ${math_list} ${lib_list}" # ------------------------------------------------------------------------ @@ -598,8 +598,8 @@ while [ $# -ge 1 ]; do --with-libcomm*) with_libcomm=$(read_with "${1}") ;; - --with-nepcpu*) - with_nepcpu=$(read_with "${1}") + --with-nep*) + with_nep=$(read_with "${1}") ;; --help*) show_help diff --git a/toolchain/scripts/stage4/install_nepcpu.sh b/toolchain/scripts/stage4/install_nep.sh similarity index 66% rename from toolchain/scripts/stage4/install_nepcpu.sh rename to toolchain/scripts/stage4/install_nep.sh index 519be593f1..42ac0b94ca 100755 --- a/toolchain/scripts/stage4/install_nepcpu.sh +++ b/toolchain/scripts/stage4/install_nep.sh @@ -8,30 +8,30 @@ [ "${BASH_SOURCE[0]}" ] && SCRIPT_NAME="${BASH_SOURCE[0]}" || SCRIPT_NAME=$0 SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_NAME")/.." && pwd -P)" -nepcpu_ver="main" -nepcpu_sha256="--no-checksum" +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_nepcpu" ] && rm "${BUILDDIR}/setup_nepcpu" +[ -f "${BUILDDIR}/setup_nep" ] && rm "${BUILDDIR}/setup_nep" -NEPCPU_CFLAGS="" -NEPCPU_LDFLAGS="" -NEPCPU_LIBS="" +NEP_CFLAGS="" +NEP_LDFLAGS="" +NEP_LIBS="" ! [ -d "${BUILDDIR}" ] && mkdir -p "${BUILDDIR}" cd "${BUILDDIR}" -case "$with_nepcpu" in +case "$with_nep" in __INSTALL__) - echo "==================== Installing NEP_CPU ====================" - dirname="NEP_CPU-${nepcpu_ver}" - pkg_install_dir="${INSTALLDIR}/nep_cpu-${nepcpu_ver}" + 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_CPU-${nepcpu_ver}.tar.gz" - url="https://codeload.github.com/brucefan1983/NEP_CPU/tar.gz/${nepcpu_ver}" + 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." @@ -40,7 +40,7 @@ case "$with_nepcpu" in echo "$filename is found" else echo "===> Notice: This version of NEP_CPU is downloaded from the GitHub master repository <===" - download_pkg_from_url "${nepcpu_sha256}" "${filename}" "${url}" + download_pkg_from_url "${nep_sha256}" "${filename}" "${url}" fi if [ "${PACK_RUN}" = "__TRUE__" ]; then @@ -52,7 +52,6 @@ case "$with_nepcpu" in cd $dirname cat << EOF > Makefile -# Compiler - Use CXX from the environment CXX ?= g++ # Compiler flags @@ -68,7 +67,7 @@ SRCS = ./src/nep.cpp OBJS = \$(SRCS:.cpp=.o) # Target shared library -TARGET = libnepcpu.so +TARGET = libnep.so # Default target all: \$(TARGET) @@ -100,33 +99,31 @@ EOF write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage4/$(basename ${SCRIPT_NAME})" fi fi - NEPCPU_CFLAGS="-I'${pkg_install_dir}/include'" - NEPCPU_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + 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 ====================" - echo "Finding NEP_CPU from system paths is not supported yet." - echo "Please use __INSTALL__ or provide a path to a pre-installed version." - exit 1 + 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_nepcpu" + pkg_install_dir="$with_nep" check_dir "${pkg_install_dir}/lib" check_dir "${pkg_install_dir}/include" - NEPCPU_CFLAGS="-I'${pkg_install_dir}/include'" - NEPCPU_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + NEP_CFLAGS="-I'${pkg_install_dir}/include'" + NEP_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" ;; esac -if [ "$with_nepcpu" != "__DONTUSE__" ]; then - NEPCPU_LIBS="-lnepcpu" - if [ "$with_nepcpu" != "__SYSTEM__" ]; then - cat << EOF > "${BUILDDIR}/setup_nepcpu" +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" @@ -138,22 +135,22 @@ 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_nepcpu" >> $SETUPFILE + cat "${BUILDDIR}/setup_nep" >> $SETUPFILE fi - cat << EOF >> "${BUILDDIR}/setup_nepcpu" -export NEPCPU_CFLAGS="${NEPCPU_CFLAGS}" -export NEPCPU_LDFLAGS="${NEPCPU_LDFLAGS}" -export NEPCPU_LIBS="${NEPCPU_LIBS}" + 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} \${NEPCPU_CFLAGS}" -export CP_LDFLAGS="\${CP_LDFLAGS} \${NEPCPU_LDFLAGS}" -export CP_LIBS="\${NEPCPU_LIBS} \${CP_LIBS}" -export NEPCPU_ROOT="$pkg_install_dir" +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_nepcpu" +load "${BUILDDIR}/setup_nep" write_toolchain_env "${INSTALLDIR}" cd "${ROOTDIR}" -report_timing "nepcpu" \ No newline at end of file +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 a7ad05dd83..d2e3fa482a 100755 --- a/toolchain/scripts/stage4/install_stage4.sh +++ b/toolchain/scripts/stage4/install_stage4.sh @@ -9,6 +9,6 @@ ./scripts/stage4/install_libnpy.sh ./scripts/stage4/install_libri.sh ./scripts/stage4/install_libcomm.sh -./scripts/stage4/install_nepcpu.sh +./scripts/stage4/install_nep.sh # EOF diff --git a/toolchain/toolchain_aocc-aocl.sh b/toolchain/toolchain_aocc-aocl.sh index 739bd55aa9..575be14d5b 100755 --- a/toolchain/toolchain_aocc-aocl.sh +++ b/toolchain/toolchain_aocc-aocl.sh @@ -27,7 +27,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ ---with-nepcpu=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 a1b783930e..426be22c59 100755 --- a/toolchain/toolchain_gcc-aocl.sh +++ b/toolchain/toolchain_gcc-aocl.sh @@ -28,7 +28,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ ---with-nepcpu=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 7388e870c4..9d4d220c1f 100755 --- a/toolchain/toolchain_gnu.sh +++ b/toolchain/toolchain_gnu.sh @@ -27,7 +27,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ ---with-nepcpu=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 cc37c905f3..45e72a2181 100755 --- a/toolchain/toolchain_intel.sh +++ b/toolchain/toolchain_intel.sh @@ -28,7 +28,7 @@ --with-cereal=install \ --with-rapidjson=install \ --with-libtorch=no \ ---with-nepcpu=no \ +--with-nep=no \ --with-libnpy=no \ --with-libri=install \ --with-libcomm=install \ From 4abd4206a85fcd614f038c8335c1ea6ccd01409d Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Wed, 15 Oct 2025 15:44:38 +0800 Subject: [PATCH 08/10] update unit test --- tests/04_FF/13_LJ_NVE/Restart_md.dat | 2 + .../OUT.autotest/Restart_md.dat | 2 + .../OUT.autotest/STRU/STRU_MD_10 | 49 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 tests/04_FF/13_LJ_NVE/Restart_md.dat create mode 100644 tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.dat create mode 100644 tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 diff --git a/tests/04_FF/13_LJ_NVE/Restart_md.dat b/tests/04_FF/13_LJ_NVE/Restart_md.dat new file mode 100644 index 0000000000..d00a745855 --- /dev/null +++ b/tests/04_FF/13_LJ_NVE/Restart_md.dat @@ -0,0 +1,2 @@ +155 +0.000950045 diff --git a/tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.dat b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.dat new file mode 100644 index 0000000000..aaa07929f1 --- /dev/null +++ b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/Restart_md.dat @@ -0,0 +1,2 @@ +10 +0.000950045 diff --git a/tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 new file mode 100644 index 0000000000..47e784dcef --- /dev/null +++ b/tests/04_FF/14_LJ_rescale_v/OUT.autotest/STRU/STRU_MD_10 @@ -0,0 +1,49 @@ +ATOMIC_SPECIES +He 4.0026 auto auto + +LATTICE_CONSTANT +1.8897270000 + +LATTICE_VECTORS + 10.0000000000 0.0000000000 0.0000000000 + 0.0000000000 10.0000000000 0.0000000000 + 0.0000000000 0.0000000000 10.0000000000 + +ATOMIC_POSITIONS +Cartesian + +He #label +0.0000 #magnetism +32 #number of atoms + 0.0655588081 9.9683119490 0.0573495702 m 1 1 1 v 0.0002950037 -0.0001359087 0.0002817142 + 0.0296020455 9.9394287800 5.0974576575 m 1 1 1 v 0.0001450707 -0.0002659284 0.0004288033 + 9.8437701902 5.0285548903 9.9750151927 m 1 1 1 v -0.0007044281 0.0001389467 -0.0001200141 + 0.1593199064 4.8142404625 5.0254534456 m 1 1 1 v 0.0007415303 -0.0008638378 0.0001205085 + 5.0478627152 0.1039334022 9.9257632192 m 1 1 1 v 0.0002314661 0.0004741028 -0.0003442097 + 5.0029102003 9.9636970071 5.0330422438 m 1 1 1 v 0.0000172209 -0.0001939876 0.0001700901 + 4.8903853112 4.9686490249 0.0111471151 m 1 1 1 v -0.0004991972 -0.0001467827 0.0000501866 + 5.0777210495 5.0598930691 4.8868119138 m 1 1 1 v 0.0003692795 0.0002563320 -0.0005158799 + 2.6540295807 2.5271295893 0.0063399217 m 1 1 1 v 0.0007084865 0.0001346339 0.0000232620 + 2.5161768072 2.4343319000 5.0855185376 m 1 1 1 v 0.0000798909 -0.0003153276 0.0003981596 + 2.4885226114 7.6183654890 9.9916893544 m 1 1 1 v -0.0000705801 0.0005501795 -0.0000119107 + 2.5472229404 7.3903651016 4.9353714563 m 1 1 1 v 0.0001986861 -0.0004975157 -0.0003020557 + 7.4815287957 2.4263888494 9.9233415484 m 1 1 1 v -0.0000920512 -0.0003376769 -0.0003536841 + 7.5241804124 2.5573040389 4.9833906701 m 1 1 1 v 0.0001258496 0.0002684644 -0.0000759589 + 7.4695431022 7.4394976591 9.8722710346 m 1 1 1 v -0.0001710906 -0.0002611367 -0.0005919685 + 7.5005490316 7.4428194462 5.1135787733 m 1 1 1 v -0.0000055483 -0.0002727539 0.0005241266 + 2.4904082317 0.1601904807 2.5115332253 m 1 1 1 v -0.0000457050 0.0007460947 0.0000629334 + 2.4331552911 9.9859414563 7.5652838492 m 1 1 1 v -0.0003120657 -0.0000668895 0.0003013885 + 2.5023759747 5.0062549748 2.4352866258 m 1 1 1 v -0.0000001888 0.0000162094 -0.0003142300 + 2.5546402518 5.0993060966 7.3995116538 m 1 1 1 v 0.0002383422 0.0004574823 -0.0004564841 + 7.5185693929 9.9213221538 2.4952978333 m 1 1 1 v 0.0000890360 -0.0003842210 -0.0000176632 + 7.5566224950 0.0732059047 7.4670019245 m 1 1 1 v 0.0002452208 0.0003541221 -0.0001600036 + 7.4586761755 5.0230751233 2.4212251455 m 1 1 1 v -0.0001945627 0.0001116452 -0.0003764660 + 7.5826720157 5.0347139511 7.5141572910 m 1 1 1 v 0.0003678149 0.0001399331 0.0000487214 + 0.0089573689 2.5662392942 2.4973462274 m 1 1 1 v 0.0000351825 0.0003053353 -0.0000266476 + 0.0417566390 2.4636651990 7.6067552685 m 1 1 1 v 0.0002120403 -0.0001648501 0.0005167711 + 9.9989679634 7.5404906965 2.5014145451 m 1 1 1 v -0.0000047379 0.0001780690 0.0000184666 + 9.8612024820 7.6473271727 7.4337306273 m 1 1 1 v -0.0006222054 0.0006675675 -0.0002959123 + 5.0432660960 2.3783889173 2.5889289401 m 1 1 1 v 0.0002188891 -0.0005654607 0.0004240516 + 4.9250307726 2.4734365320 7.3864959938 m 1 1 1 v -0.0003367943 -0.0001065234 -0.0005436354 + 4.9123907180 7.4499967239 2.6171837953 m 1 1 1 v -0.0003999327 -0.0002036017 0.0005137604 + 4.8124246568 7.4935346648 7.6353053219 m 1 1 1 v -0.0008599223 -0.0000167156 0.0006237795 From 787deea933de31bec1ded73dd03ef3a92b43e9c1 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Wed, 15 Oct 2025 15:45:53 +0800 Subject: [PATCH 09/10] update test.yml --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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'" From e4dca027f09b31aeaf0a212c1c87d5ea33de07f9 Mon Sep 17 00:00:00 2001 From: MoseyQAQ Date: Wed, 15 Oct 2025 16:46:09 +0800 Subject: [PATCH 10/10] update related doc. --- docs/advanced/input_files/input-main.md | 2 +- docs/advanced/install.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/advanced/input_files/input-main.md b/docs/advanced/input_files/input-main.md index 388d6044a2..5f9b322b9e 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -3328,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 beb4cbaae4..fb237625a2 100644 --- a/docs/advanced/install.md +++ b/docs/advanced/install.md @@ -58,7 +58,7 @@ 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-nepcpu=install +./install_abacus_toolchain.sh --with-nep=install ``` To build ABACUS: