此文主要介绍积分库lbcint的使用方法
安装libcint
1.直接安装 如果需要使用libcint库直接安装的方式如下
libcint是使用cmake进行构建的,因此首先需要在github上下载libcint,然后根据其说明进行安装。
1
git clone https://github.com/sunqm/libcint
如果想在自己的代码中使用libcint库的话,推荐使用cmake自动下载并进行构建。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44# Overwrite CMAKE_C_CREATE_SHARED_LIBRARY in Modules/CMakeCInformation.cmake
# to remove the SONAME flag in the so file. The soname information causes
# dynamic link error when importing libcint library.
set(C_LINK_TEMPLATE "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
set(CXX_LINK_TEMPLATE "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
include(ExternalProject)
option(BUILD_LIBCINT "Using libcint for analytical gaussian integral" ON)
option(WITH_F12 "Compling F12 integrals" ON)
option(USE_QCINT "Using the qcint library (optimized for x86-64) for gaussian integral evaluation" OFF)
if(BUILD_LIBCINT)
set(LIBCINT_GIT https://github.com/sunqm/libcint.git) # libcint is a portable, cross-platform implementation
if (USE_QCINT)
set(LIBCINT_GIT https://github.com/sunqm/qcint.git) # qcint is an optimized implementation for x86-64 architecture
if(NOT BUILD_MARCH_NATIVE)
message(WARNING "The BUILD_MARCH_NATIVE option is not specified! qcint may not compile unless you explicitly pass compiler flags that turn on vectorization!")
endif()
endif()
ExternalProject_Add(libcint
GIT_REPOSITORY ${LIBCINT_GIT}
GIT_TAG v5.3.0
PREFIX ${CMAKE_BINARY_DIR}/libcint
INSTALL_DIR ${PROJECT_SOURCE_DIR}/libcint
CMAKE_CACHE_ARGS
-DWITH_F12:STRING=${WITH_F12}
-DWITH_RANGE_COULOMB:STRING=1
-DWITH_FORTRAN:STRING=0 # it is switch for fortran
-DWITH_CINT2_INTERFACE:STRING=0 #notice,it option is important for interface.
-DMIN_EXPCUTOFF:STRING=20
-DKEEP_GOING:STRING=1
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_INSTALL_LIBDIR:PATH=lib
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
-DBLAS_LIBRARIES:STRING=${BLAS_LIBRARIES}
-DCMAKE_C_CREATE_SHARED_LIBRARY:STRING=${C_LINK_TEMPLATE}
-DBUILD_MARCH_NATIVE:STRING=${BUILD_MARCH_NATIVE}
)
endif() # BUILD_LIBCINT
include_directories(${PROJECT_SOURCE_DIR}/libcint/include)
link_directories(${PROJECT_SOURCE_DIR}/libcint/lib )
使用
TO DO....