Skip to content

Commit 6aa0c00

Browse files
authored
Create README.md
1 parent 196f288 commit 6aa0c00

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# LibRI
2+
3+
Read this in other languages: [English](./README.md), [中文](./README.cn.md)
4+
5+
6+
## RI technique
7+
8+
Conventional Density functional theory (DFT) methods are not sufficient to properly describe certain types of binding interactions.
9+
It is often necessary to use higher-level methods like hybrid functionals, random-phase approximation (RPA), GW methods and beyond to accurately treat.
10+
However, the computational cost of these methods are prohibitively expensive.
11+
12+
For local bases, invoking the resolution-of-the-identity (RI) significantly reduces the storage requirement and the computational cost.
13+
14+
15+
## requirements for LibRI
16+
17+
LibRI is a C++ library using RI technique for methods beyond DFT. It is a head-only library.
18+
19+
These are necessary for LibRI:
20+
- C++ compiler, supported C++14 and OpenMP.
21+
- MPI library, used for inter-process communication.
22+
- BLAS and LAPACK libraries, used as backends for Tensor operations.
23+
> If Math Kernel Library (MKL) is linked as the BLAS and LAPACK backend, it's recommended to define macro `__MKL_RI` before including any LibRI's header file. Some LibRI's functions will be silently substituted with calls to MKL routines.
24+
- [cereal](https://uscilab.github.io/cereal/) library, a head-only library for serialization.
25+
- [LibComm](https://github.com/abacusmodeling/LibComm.git) library, a head-only library for inter-process communication.

0 commit comments

Comments
 (0)