mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-29 06:35:28 -04:00
Fix typo in vdw functional name and various CMake issues
This commit is contained in:
parent
2a23ee716d
commit
388ddf7259
9 changed files with 104 additions and 124 deletions
|
|
@ -23,7 +23,6 @@ endif()
|
|||
# =================================================================================================
|
||||
# PROJECT AND VERSION
|
||||
include(CMakeDependentOption)
|
||||
include(GitSubmodule)
|
||||
include(CustomTargets)
|
||||
|
||||
cmake_policy(SET CMP0048 NEW)
|
||||
|
|
@ -55,7 +54,7 @@ if(NOT DEFINED CMAKE_CUDA_STANDARD)
|
|||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
endif()
|
||||
|
||||
|
|
@ -185,18 +184,18 @@ cmake_dependent_option(CP2K_USE_SIRIUS_NLCG "Enable nlcg method in SIRIUS" OFF
|
|||
|
||||
cmake_dependent_option(
|
||||
CP2K_DBCSR_USE_CPU_ONLY "Disable the DBCSR accelerated backend" OFF
|
||||
"NOT CP2K_USE_ACCEL MATCHES \"OPENCL\"" OFF)
|
||||
"NOT CP2K_USE_ACCEL MATCHES \"OPENCL|HIP|CUDA\"" OFF)
|
||||
|
||||
cmake_dependent_option(
|
||||
CP2K_ENABLE_DBM_GPU "Disable the dbm accelerated backend (mostly GPU)." ON
|
||||
CP2K_ENABLE_DBM_GPU "Enable the dbm accelerated backend (mostly GPU)." ON
|
||||
"CP2K_USE_ACCEL" OFF)
|
||||
|
||||
cmake_dependent_option(
|
||||
CP2K_ENABLE_GRID_GPU "Disable acceleration for grid related functions." ON
|
||||
CP2K_ENABLE_GRID_GPU "Enable acceleration for grid related functions." ON
|
||||
"CP2K_USE_ACCEL MATCHES \"HIP|CUDA\"" OFF)
|
||||
|
||||
cmake_dependent_option(
|
||||
CP2K_ENABLE_PW_GPU "Disable the ffts accelerated backend (mostly GPU)." ON
|
||||
CP2K_ENABLE_PW_GPU "Enable the ffts accelerated backend (mostly GPU)." ON
|
||||
"CP2K_USE_ACCEL MATCHES \"HIP|CUDA\"" OFF)
|
||||
|
||||
cmake_dependent_option(
|
||||
|
|
@ -230,7 +229,21 @@ cmake_dependent_option(
|
|||
|
||||
set(CP2K_BLAS_VENDOR
|
||||
"auto"
|
||||
CACHE STRING "BLAS library for computations on host")
|
||||
CACHE STRING "blas vendor/generic libraries")
|
||||
|
||||
set_property(
|
||||
CACHE CP2K_BLAS_VENDOR
|
||||
PROPERTY STRINGS
|
||||
"auto"
|
||||
"MKL"
|
||||
"OpenBLAS"
|
||||
"SCI"
|
||||
"GenericBLAS"
|
||||
"Armpl"
|
||||
"FlexiBLAS"
|
||||
"Atlas"
|
||||
"NVHPCBlas"
|
||||
"CUSTOM")
|
||||
|
||||
set(CP2K_SCALAPACK_VENDOR_LIST "MKL" "SCI" "GENERIC" "auto")
|
||||
set(CP2K_SCALAPACK_VENDOR
|
||||
|
|
@ -655,6 +668,9 @@ if(CP2K_USE_COSMA)
|
|||
" COSMA needs to be build with scalapack offloading support. COSTA_SCALAPACK and COSMA_SCALAPACK should probably be set properly"
|
||||
)
|
||||
endif()
|
||||
add_library(cp2k::cosma INTERFACE)
|
||||
target_link_libraries(cp2k::cosma INTERFACE cosma::cosma_prefixed_pxgemm
|
||||
cosma::cosma)
|
||||
endif()
|
||||
|
||||
if(CP2K_USE_VORI)
|
||||
|
|
@ -761,14 +777,10 @@ endif()
|
|||
|
||||
if(CP2K_USE_ACE)
|
||||
find_package(ACE REQUIRED)
|
||||
get_target_property(CP2K_ACE_INCLUDE_DIRS ACE::pace
|
||||
get_target_property(CP2K_ACE_INCLUDE_DIRS cp2k::ACE
|
||||
INTERFACE_INCLUDE_DIRECTORIES)
|
||||
get_target_property(CP2K_ACE_LINK_LIBRARIES ACE::pace
|
||||
get_target_property(CP2K_ACE_LINK_LIBRARIES cp2k::ACE
|
||||
INTERFACE_LINK_LIBRARIES)
|
||||
get_target_property(LIB_PATH ACE::yaml-cpp-pace INTERFACE_LINK_LIBRARIES)
|
||||
list(APPEND CP2K_ACE_LINK_LIBRARIES ${LIB_PATH})
|
||||
get_target_property(LIB_PATH ACE::cnpy INTERFACE_LINK_LIBRARIES)
|
||||
list(APPEND CP2K_ACE_LINK_LIBRARIES ${LIB_PATH})
|
||||
endif()
|
||||
|
||||
if(CP2K_USE_TBLITE)
|
||||
|
|
@ -776,9 +788,10 @@ if(CP2K_USE_TBLITE)
|
|||
find_package(toml-f REQUIRED)
|
||||
find_package(s-dftd3 REQUIRED)
|
||||
find_package(tblite REQUIRED)
|
||||
add_library(cp2k::tblite INTERFACE IMPORTED)
|
||||
target_link_libraries(
|
||||
tblite::tblite INTERFACE mctc-lib::mctc-lib dftd4::dftd4 toml-f::toml-f
|
||||
s-dftd3::s-dftd3)
|
||||
cp2k::tblite INTERFACE tblite::tblite mctc-lib::mctc-lib dftd4::dftd4
|
||||
toml-f::toml-f s-dftd3::s-dftd3)
|
||||
endif()
|
||||
|
||||
# SIRIUS
|
||||
|
|
@ -825,6 +838,10 @@ if(CP2K_USE_GREENX)
|
|||
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-L${GMP_LIBRARY_PATH}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS}
|
||||
"-L${GMP_LIBRARY_PATH}")
|
||||
|
||||
add_library(cp2k::greenx INTERFACE IMPORTED)
|
||||
target_link_libraries(cp2k::greenx INTERFACE greenX::GXCommon greenX::LibGXAC
|
||||
greenX::LibGXMiniMax)
|
||||
endif()
|
||||
|
||||
# OPTION HANDLING
|
||||
|
|
@ -1003,9 +1020,11 @@ if(CP2K_USE_PEXSI)
|
|||
endif()
|
||||
|
||||
if(CP2K_USE_ACE)
|
||||
message(" - ACE\n" # keep line break
|
||||
" - include directories: ${CP2K_ACE_INCLUDE_DIRS}\n"
|
||||
" - libraries: ${CP2K_ACE_LINK_LIBRARIES}\n\n")
|
||||
message(
|
||||
" - ACE\n" # keep line break
|
||||
" - include directories: ${CP2K_ACE_INCLUDE_DIRS}\n"
|
||||
" - libraries: ${CP2K_ACE_LINK_LIBRARIES};${CP2K_ACE_YAML_LINK_LIBRARIES};${CP2K_ACE_CNPY_LINK_LIBRARIES}\n\n"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CP2K_USE_LIBSMEAGOL)
|
||||
|
|
|
|||
|
|
@ -37,16 +37,14 @@ endif()
|
|||
add_compile_options(
|
||||
"$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:-std=f2008;-ffree-form;-fimplicit-none>"
|
||||
"$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:-g;-fno-omit-frame-pointer;-fbacktrace>"
|
||||
"$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:$<$<VERSION_GREATER_EQUAL:${CMAKE_Fortran_COMPILER_VERSION},11>:-fallow-argument-mismatch>>"
|
||||
"$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:$<$<VERSION_GREATER:$<Fortran_COMPILER_VERSION>,10>:-fallow-argument-mismatch>>"
|
||||
"$<$<COMPILE_LANG_AND_ID:Fortran,GNU>:-Wno-deprecated-declarations;-Wno-maybe-uninitialized;-Wuninitialized;-Wuse-without-only>"
|
||||
)
|
||||
add_compile_options(
|
||||
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:--std=c++17>"
|
||||
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-g;-fno-omit-frame-pointer>"
|
||||
"$<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wno-deprecated-declarations;-Wno-vla-parameter>"
|
||||
)
|
||||
add_compile_options(
|
||||
"$<$<COMPILE_LANG_AND_ID:C,GNU>:-std=c11>"
|
||||
"$<$<COMPILE_LANG_AND_ID:C,GNU>:-g;-fno-omit-frame-pointer>"
|
||||
"$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-deprecated-declarations;-Wno-vla-parameter>"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
#!-------------------------------------------------------------------------------------------------!
|
||||
#! CP2K: A general program to perform molecular dynamics simulations !
|
||||
#! Copyright 2000-2025 CP2K developers group <https://cp2k.org> !
|
||||
#! !
|
||||
#! SPDX-License-Identifier: GPL-2.0-or-later !
|
||||
#!-------------------------------------------------------------------------------------------------!
|
||||
|
||||
# Call to ensure that the git submodule in location `path` is loaded. If the
|
||||
# submodule is not loaded, an error message that describes how to update the
|
||||
# submodules is printed. Sets the variable name_avail to `ON` if the submodule
|
||||
# is available, or `OFF` otherwise. copyright github.com/arbor-sim
|
||||
|
||||
function(check_git_submodule name path)
|
||||
set(success_var "${name}_avail")
|
||||
set(${success_var}
|
||||
ON
|
||||
PARENT_SCOPE)
|
||||
|
||||
get_filename_component(dotgit "${path}/.git" ABSOLUTE)
|
||||
if(NOT EXISTS ${dotgit})
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"\nThe git submodule for ${name} is not available.\n"
|
||||
"To check out all submodules use the following commands:\n"
|
||||
" git submodule init\n"
|
||||
" git submodule update\n"
|
||||
"Or download submodules recursively when checking out:\n"
|
||||
" git clone --recursive https://github.com/cp2k/cp2k.git\n")
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
@ -12,42 +12,25 @@ cp2k_set_default_paths(ACE "ace")
|
|||
|
||||
cp2k_include_dirs(
|
||||
ACE "ace/ace_couplings.h;ace-evaluator/ace_types.h;yaml-cpp/yaml.h")
|
||||
find_package_handle_standard_args(ACE DEFAULT_MSG CP2K_ACE_INCLUDE_DIRS)
|
||||
|
||||
cp2k_find_libraries(ACE "pace")
|
||||
find_package_handle_standard_args(ACE DEFAULT_MSG CP2K_ACE_LINK_LIBRARIES)
|
||||
|
||||
cp2k_find_libraries(ACE_YAML "yaml-cpp-pace")
|
||||
find_package_handle_standard_args(ACE DEFAULT_MSG CP2K_ACE_YAML_LINK_LIBRARIES)
|
||||
|
||||
cp2k_find_libraries(ACE_CNPY "cnpy")
|
||||
find_package_handle_standard_args(ACE DEFAULT_MSG CP2K_ACE_CNPY_LINK_LIBRARIES)
|
||||
|
||||
find_package_handle_standard_args(
|
||||
ACE DEFAULT_MSG CP2K_ACE_LINK_LIBRARIES CP2K_ACE_CNPY_LINK_LIBRARIES
|
||||
CP2K_ACE_INCLUDE_DIRS CP2K_ACE_YAML_LINK_LIBRARIES)
|
||||
|
||||
if(CP2K_ACE_FOUND)
|
||||
if(NOT TARGET ACE::pace)
|
||||
add_library(ACE::pace INTERFACE IMPORTED)
|
||||
if(NOT TARGET cp2k::ACE)
|
||||
add_library(cp2k::ACE INTERFACE IMPORTED)
|
||||
endif()
|
||||
set_target_properties(
|
||||
ACE::pace
|
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CP2K_ACE_INCLUDE_DIRS}"
|
||||
INTERFACE_LINK_LIBRARIES "${CP2K_ACE_LINK_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
if(CP2K_ACE_YAML_FOUND)
|
||||
if(NOT TARGET ACE::yaml-cpp-pace)
|
||||
add_library(ACE::yaml-cpp-pace INTERFACE IMPORTED)
|
||||
endif()
|
||||
set_target_properties(
|
||||
ACE::yaml-cpp-pace PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
"${CP2K_ACE_YAML_LINK_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
if(CP2K_ACE_CNPY_FOUND)
|
||||
if(NOT TARGET ACE::cnpy)
|
||||
add_library(ACE::cnpy INTERFACE IMPORTED)
|
||||
endif()
|
||||
set_target_properties(ACE::cnpy PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
"${CP2K_ACE_CNPY_LINK_LIBRARIES}")
|
||||
cp2k::ACE
|
||||
PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${CP2K_ACE_INCLUDE_DIRS}"
|
||||
INTERFACE_LINK_LIBRARIES
|
||||
"${CP2K_ACE_LINK_LIBRARIES};${CP2K_ACE_YAML_LINK_LIBRARIES};${CP2K_ACE_CNPY_LINK_LIBRARIES}"
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(CP2K_ACE_FOUND CP2K_ACE_INCLUDE_DIRS CP2K_ACE_LINK_LIBRARIES
|
||||
|
|
|
|||
|
|
@ -9,13 +9,6 @@
|
|||
#
|
||||
# authors : Mathieu Taillefumier
|
||||
|
||||
if(NOT
|
||||
(CMAKE_C_COMPILER_LOADED
|
||||
OR CMAKE_CXX_COMPILER_LOADED
|
||||
OR CMAKE_Fortran_COMPILER_LOADED))
|
||||
message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.")
|
||||
endif()
|
||||
|
||||
if(NOT CP2K_CONFIG_PACKAGE)
|
||||
set(CP2K_BLAS_VENDOR_LIST
|
||||
# cmake-format: sortable
|
||||
|
|
@ -34,8 +27,6 @@ if(NOT CP2K_CONFIG_PACKAGE)
|
|||
list(REMOVE_ITEM __BLAS_VENDOR_LIST "auto")
|
||||
list(REMOVE_ITEM __BLAS_VENDOR_LIST "CUSTOM")
|
||||
|
||||
# set(CP2K_BLAS_VENDOR "auto" CACHE STRING "Blas library for computations on
|
||||
# host")
|
||||
set_property(CACHE CP2K_BLAS_VENDOR PROPERTY STRINGS ${CP2K_BLAS_VENDOR_LIST})
|
||||
|
||||
if(NOT ${CP2K_BLAS_VENDOR} IN_LIST CP2K_BLAS_VENDOR_LIST)
|
||||
|
|
@ -152,3 +143,4 @@ mark_as_advanced(CP2K_BLAS_INCLUDE_DIRS)
|
|||
mark_as_advanced(CP2K_BLAS_LINK_LIBRARIES)
|
||||
mark_as_advanced(CP2K_BLAS_VENDOR)
|
||||
mark_as_advanced(CP2K_BLAS_FOUND)
|
||||
mark_as_advanced(CP2K_BLAS_VENDOR_LIST)
|
||||
|
|
|
|||
|
|
@ -75,26 +75,28 @@ else()
|
|||
CP2K_LIBXSMM_LINK_LIBRARIES)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET cp2k::LibXSMM::libxsmm)
|
||||
foreach(__lib libxsmm libxsmmf libxsmmext libxsmmnoblas)
|
||||
if(NOT TARGET cp2k::LibXSMM)
|
||||
add_library(cp2k::LibXSMM INTERFACE IMPORTED)
|
||||
foreach(__lib libxsmmf libxsmmext libxsmm libxsmmnoblas)
|
||||
string(TOUPPER "CP2K_${__lib}" __lib_search_up)
|
||||
|
||||
if(${__lib_search_up}_FOUND AND NOT TARGET cp2k::LibXSMM::${__lib})
|
||||
add_library(cp2k::LibXSMM::${__lib} INTERFACE IMPORTED)
|
||||
target_link_directories(cp2k::LibXSMM::${__lib} INTERFACE
|
||||
${${__lib_search_up}_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
set_target_properties(
|
||||
cp2k::LibXSMM::${__lib} PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
"${${__lib_search_up}_LINK_LIBRARIES}")
|
||||
|
||||
if(CP2K_LIBXSMM_INCLUDE_DIRS)
|
||||
set_target_properties(
|
||||
cp2k::LibXSMM::${__lib}
|
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${CP2K_LIBXSMM_INCLUDE_DIRS};${CP2K_LIBXSMM_PREFIX}/include"
|
||||
)
|
||||
PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
"${${__lib_search_up}_LINK_LIBRARIES}")
|
||||
|
||||
if(CP2K_LIBXSMM_INCLUDE_DIRS)
|
||||
set_target_properties(
|
||||
cp2k::LibXSMM::${__lib}
|
||||
PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${CP2K_LIBXSMM_INCLUDE_DIRS};${CP2K_LIBXSMM_PREFIX}/include")
|
||||
endif()
|
||||
target_link_libraries(cp2k::LibXSMM INTERFACE cp2k::LibXSMM::${__lib})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1643,9 +1643,10 @@ set(CP2K_GPU_DFLAGS
|
|||
# ##############################################################################
|
||||
|
||||
add_fypp_sources(CP2K_SRCS ${CP2K_SRCS_F})
|
||||
add_fypp_sources(CP2K_PROGS_F_FYPP ${CP2K_PROGS_F})
|
||||
|
||||
# set the __SHORT_FILE__ per file for CP2K sources
|
||||
foreach(cp2k_src ${CP2K_SRCS})
|
||||
foreach(cp2k_src ${CP2K_SRCS} ${CP2K_PROGS_F_FYPP})
|
||||
# add_fypp_sources returns a path in the current binary dir
|
||||
file(RELATIVE_PATH short_file "${CMAKE_BINARY_DIR}/src" "${cp2k_src}")
|
||||
set_source_files_properties(
|
||||
|
|
@ -1721,14 +1722,8 @@ target_link_libraries(
|
|||
$<$<BOOL:${CP2K_USE_DEEPMD}>:DeePMD::deepmd
|
||||
DeePMD::deepmd_c>
|
||||
$<$<BOOL:${CP2K_USE_PEXSI}>:PEXSI::PEXSI>
|
||||
$<$<BOOL:${CP2K_USE_ACE}>:ACE::pace>
|
||||
$<$<BOOL:${CP2K_USE_ACE}>:ACE::yaml-cpp-pace>
|
||||
$<$<BOOL:${CP2K_USE_ACE}>:ACE::cnpy>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:toml-f::toml-f>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:s-dftd3::s-dftd3>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:mctc-lib::mctc-lib>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:dftd4::dftd4>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:tblite::tblite>
|
||||
$<$<BOOL:${CP2K_USE_ACE}>:cp2k::ACE>
|
||||
$<$<BOOL:${CP2K_USE_TBLITE}>:cp2k::tblite>
|
||||
$<$<BOOL:${CP2K_USE_SIRIUS}>:sirius::sirius>
|
||||
$<$<BOOL:${CP2K_USE_VORI}>:cp2k::VORI::vori>
|
||||
$<$<BOOL:${CP2K_USE_SPGLIB}>:Spglib::symspg>
|
||||
|
|
@ -1741,12 +1736,9 @@ target_link_libraries(
|
|||
$<$<AND:$<BOOL:${CP2K_USE_FFTW3_}>,$<BOOL:${CP2K_ENABLE_FFTW3_OPENMP_SUPPORT}>>:cp2k::FFTW3::fftw3_omp>
|
||||
$<$<BOOL:${CP2K_USE_SPLA}>:SPLA::spla>
|
||||
$<$<BOOL:${CP2K_USE_LIBINT2}>:cp2k::Libint2::int2>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:cosma::cosma_prefixed_pxgemm>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:cosma::cosma>
|
||||
$<$<BOOL:${CP2K_USE_COSMA}>:cp2k::cosma>
|
||||
$<$<BOOL:${CP2K_USE_DLAF}>:DLAF::Fortran>
|
||||
$<$<BOOL:${CP2K_USE_GREENX}>:greenX::GXCommon>
|
||||
$<$<BOOL:${CP2K_USE_GREENX}>:greenX::LibGXAC>
|
||||
$<$<BOOL:${CP2K_USE_GREENX}>:greenX::LibGXMiniMax>
|
||||
$<$<BOOL:${CP2K_USE_GREENX}>:cp2k::greenx>
|
||||
$<$<BOOL:${CP2K_USE_TREXIO}>:cp2k::trexio::trexio>
|
||||
$<$<BOOL:${CP2K_USE_HDF5}>:HDF5::HDF5
|
||||
hdf5::hdf5_fortran>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ MODULE input_cp2k_pwdft
|
|||
USE SIRIUS, ONLY: &
|
||||
sirius_option_get, &
|
||||
sirius_option_get_section_length, sirius_option_get_info, &
|
||||
SIRIUS_INTEGER_TYPE, SIRIUS_NUMBER_TYPE, SIRIUS_STRING_TYPE, &
|
||||
SIRIUS_INTEGER_TYPE, SIRIUS_NUMBER_TYPE, SIRIUS_STRING_TYPE, SIRIUS_OBJECT_TYPE, &
|
||||
SIRIUS_LOGICAL_TYPE, SIRIUS_ARRAY_TYPE, SIRIUS_INTEGER_ARRAY_TYPE, SIRIUS_LOGICAL_ARRAY_TYPE, &
|
||||
SIRIUS_NUMBER_ARRAY_TYPE, SIRIUS_STRING_ARRAY_TYPE, string_f2c
|
||||
#endif
|
||||
|
|
@ -186,13 +186,13 @@ CONTAINS
|
|||
CHARACTER(len=*), INTENT(in) :: section_name
|
||||
|
||||
CHARACTER(len=128) :: name
|
||||
CHARACTER(len=128), TARGET :: possible_values(1:16)
|
||||
CHARACTER(len=128), TARGET :: possible_values(1:256)
|
||||
CHARACTER(len=4096) :: description, usage
|
||||
INTEGER :: ctype, enum_i_val(1:16), enum_length, i, &
|
||||
j, length, num_possible_values
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:), TARGET :: ivec
|
||||
INTEGER :: ctype, enum_length, i, j, length, &
|
||||
num_possible_values
|
||||
INTEGER, ALLOCATABLE, DIMENSION(:), TARGET :: enum_i_val, ivec
|
||||
INTEGER, TARGET :: dummy_i
|
||||
LOGICAL :: lvecl(1:16)
|
||||
LOGICAL :: jump_dft_parameters, lvecl(1:16)
|
||||
LOGICAL(4), ALLOCATABLE, DIMENSION(:), TARGET :: lvec
|
||||
LOGICAL(4), TARGET :: dummy_l
|
||||
REAL(kind=dp), ALLOCATABLE, DIMENSION(:), TARGET :: rvec
|
||||
|
|
@ -202,7 +202,8 @@ CONTAINS
|
|||
ALLOCATE (ivec(1:16))
|
||||
ALLOCATE (rvec(1:16))
|
||||
ALLOCATE (lvec(1:16))
|
||||
|
||||
ALLOCATE (enum_i_val(1:256))
|
||||
jump_dft_parameters = .FALSE.
|
||||
#ifdef __LIBVDWXC
|
||||
IF (section_name == "parameters") THEN
|
||||
NULLIFY (keyword)
|
||||
|
|
@ -238,10 +239,18 @@ CONTAINS
|
|||
4096, &
|
||||
usage, &
|
||||
4096)
|
||||
|
||||
! description and usage are ignored here
|
||||
! it is a minor inconvenience from the api.
|
||||
|
||||
name = TRIM(ADJUSTL(name))
|
||||
|
||||
#if defined(__SIRIUS_DFTD4)
|
||||
! need to implement the object case within a section
|
||||
IF (((section_name == 'dftd3') .OR. (section_name == 'dftd4')) .AND. (name == 'parameters')) THEN
|
||||
CYCLE
|
||||
END IF
|
||||
#endif
|
||||
|
||||
! I exclude these three keywords because one of them is for debugging
|
||||
! purpose the other are replaced by a dedicated call in cp2k
|
||||
!
|
||||
|
|
@ -403,10 +412,19 @@ CONTAINS
|
|||
END IF
|
||||
CALL section_add_keyword(section, keyword)
|
||||
CALL keyword_release(keyword)
|
||||
!CASE (SIRIUS_OBJECT_TYPE)
|
||||
! create a subsection for the dftd3/dftd4 parameters
|
||||
!CALL create_sirius_section(sub_section, sub_section_name)
|
||||
!CALL section_add_subsection(section, sub_section)
|
||||
!CALL section_release(sub_section)
|
||||
CASE default
|
||||
END SELECT
|
||||
END IF
|
||||
END DO
|
||||
DEALLOCATE (ivec)
|
||||
DEALLOCATE (rvec)
|
||||
DEALLOCATE (lvec)
|
||||
DEALLOCATE (enum_i_val)
|
||||
END SUBROUTINE fill_in_section
|
||||
|
||||
! **************************************************************************************************
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ CONTAINS
|
|||
CASE (SIRIUS_FUNC_VDWDF2)
|
||||
CALL sirius_add_xc_functional(sctx, "XC_FUNC_VDWDF2")
|
||||
CASE (SIRIUS_FUNC_VDWDFCX)
|
||||
CALL sirius_add_xc_functional(sctx, "XC_FUNC_VDWDF2")
|
||||
CALL sirius_add_xc_functional(sctx, "XC_FUNC_VDWDFCX")
|
||||
CASE default
|
||||
END SELECT
|
||||
#endif
|
||||
|
|
@ -681,6 +681,12 @@ CONTAINS
|
|||
4096, &
|
||||
usage, &
|
||||
4096)
|
||||
|
||||
! ignore the keyword parametes for sections dftd3 and dftd4.
|
||||
IF (((section_name == 'dftd3') .OR. (section_name == 'dftd4')) .AND. (option_name == 'parameters')) THEN
|
||||
CYCLE
|
||||
END IF
|
||||
|
||||
IF ((option_name /= 'memory_usage') .AND. (option_name /= 'xc_functionals') .AND. (option_name /= 'vk')) THEN
|
||||
CALL section_vals_val_get(section, option_name, explicit=found)
|
||||
IF (found) THEN
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue