adopt for new multispecies PACE implementation

This commit is contained in:
Yury Lysogorskiy
2021-09-29 16:04:09 +02:00
parent 9e49a934c2
commit 32049c3484
5 changed files with 33 additions and 17 deletions

View File

@ -1,6 +1,6 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "4db54962fbd6adcf8c18d46e1798ceb5" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.9.28.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "f98363bb98adc7295ea63974738c2a1b" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5)
@ -14,12 +14,18 @@ execute_process(
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE)
file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp)
file(GLOB lib-pace ${CMAKE_BINARY_DIR}/lammps-user-pace-*)
add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp)
set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include)
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp)
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE pace)
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR} ${YAML_CPP_INCLUDE_DIR})
target_link_libraries(lammps PRIVATE pace)
target_link_libraries(lammps PRIVATE yaml-cpp)

View File

@ -15,12 +15,13 @@ from install_helpers import fullpath, geturl, checkmd5sum
# settings
thisdir = fullpath('.')
version = 'v.2021.4.9'
version = 'v.2021.9.28'
# known checksums for different PACE versions. used to validate the download.
checksums = { \
'v.2021.2.3.upd2' : '8fd1162724d349b930e474927197f20d',
'v.2021.4.9' : '4db54962fbd6adcf8c18d46e1798ceb5',
'v.2021.9.28' : 'f98363bb98adc7295ea63974738c2a1b',
}

View File

@ -2,8 +2,11 @@ SHELL = /bin/sh
# ------ FILES ------
SRC_FILES = $(wildcard src/USER-PACE/*.cpp)
SRC = $(filter-out src/USER-PACE/pair_pace.cpp, $(SRC_FILES))
YAML_CPP_PATH = src/yaml-cpp
YAML_CPP_INC = $(YAML_CPP_PATH)/include
SRC_FILES = $(wildcard src/ML-PACE/*.cpp)
SRC = $(filter-out src/ML-PACE/pair_pace.cpp, $(SRC_FILES))
# ------ DEFINITIONS ------
@ -12,7 +15,7 @@ OBJ = $(SRC:.cpp=.o)
# ------ SETTINGS ------
CXXFLAGS = -O3 -fPIC -Isrc/USER-PACE
CXXFLAGS = -O3 -fPIC -Isrc/ML-PACE -I$(YAML_CPP_INC)
ARCHIVE = ar
ARCHFLAG = -rc
@ -21,9 +24,13 @@ SYSLIB =
# ------ MAKE PROCEDURE ------
lib: $(OBJ)
lib: $(OBJ) lib-yaml-cpp
$(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ)
lib-yaml-cpp:
cd $(YAML_CPP_PATH) && $(MAKE) lib
# ------ COMPILE RULES ------
%.o: %.cpp
@ -32,6 +39,9 @@ lib: $(OBJ)
# ------ CLEAN ------
clean-all:
-rm -f *~ $(OBJ) $(LIB)
cd $(YAML_CPP_PATH) && $(MAKE) clean-all
clean-build:
-rm -f *~ $(OBJ)
cd $(YAML_CPP_PATH) && $(MAKE) clean-build

View File

@ -1,3 +1,3 @@
pace_SYSINC =-I../../lib/pace/src/USER-PACE
pace_SYSLIB = -L../../lib/pace/ -lpace
pace_SYSINC =-I../../lib/pace/src/ML-PACE -I../../lib/pace/src/yaml-cpp/include
pace_SYSLIB = -L../../lib/pace/ -lpace -L../../lib/pace/src/yaml-cpp/ -lyaml-cpp
pace_SYSPATH =

View File

@ -296,10 +296,9 @@ void PairPACE::coeff(int narg, char **arg) {
//load potential file
delete aceimpl->basis_set;
aceimpl->basis_set = new ACECTildeBasisSet();
if (comm->me == 0)
utils::logmesg(lmp,"Loading {}\n", potential_file_name);
aceimpl->basis_set->load(potential_file_name);
if (comm->me == 0)
utils::logmesg(lmp,"Loading {}\n", potential_file_name);
aceimpl->basis_set = new ACECTildeBasisSet(potential_file_name);
if (comm->me == 0) {
utils::logmesg(lmp,"Total number of basis functions\n");