https://github.com/jamesetsmith/fri-cc
Fast-randomized iteration for coupled cluster.
https://github.com/jamesetsmith/fri-cc
electronic-structure pyscf quantum-chemistry
Last synced: about 1 year ago
JSON representation
Fast-randomized iteration for coupled cluster.
- Host: GitHub
- URL: https://github.com/jamesetsmith/fri-cc
- Owner: jamesETsmith
- License: gpl-3.0
- Created: 2021-02-11T16:45:09.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-10-02T13:31:00.000Z (almost 3 years ago)
- Last Synced: 2025-02-12T08:55:23.865Z (over 1 year ago)
- Topics: electronic-structure, pyscf, quantum-chemistry
- Language: Python
- Homepage:
- Size: 275 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fast-randomized Iteration (FRI) Coupled Cluster
[](https://github.com/jamesETsmith/fri-cc/actions)
[](https://www.codacy.com/gh/jamesETsmith/fri-cc/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jamesETsmith/fri-cc&utm_campaign=Badge_Grade)
:warning: WARNING: PROJECT IS UNDER CONSTRUCTION AND SUBJECT TO BREAKING CHANGES :warning:
## Installation
### Requirements
- C++20 Compiler
- cmake
- Python >= 3.6
- PySCF
- pytest
- matplotlib
- h5py
### Tested Configurations
| Compiler | Success |
| :------: | :----------------: |
| g++10 | :heavy_check_mark: |
### From Source
```bash
git clone git@github.com:jamesETsmith/fri-cc.git --recursive
CXX= cmake -B build
cmake --build build --parallel --target install
python -m pip install -e .
```
For `cmake<3.14`
```bash
git clone git@github.com:jamesETsmith/fri-cc.git --recursive
mkdir build && cd build
CXX= cmake ..
make install -j
cd ..
python -m pip install -e .
```
> :warning: NOTE: `fri-cc` uses `git submodules`
Broadly speaking, the build/install process has the following steps:
1. Compile the shared library `libfricc`
2. Using pybind11, create Python wrappers for parts of `libfricc` called `py_rccsd`
3. Package and install the compiled Python modules.
## Testing
There are two test suites, the first in C++, can be turned on by using an extra cmake flag `-DCPP_TEST=ON`:
```bash
mkdir build && cd build
CXX= cmake .. -DCPP_TEST=ON
make install -j
make test
```
The second is a Python-based test suite, which you can run after following the instructions in the [From Source](#from-source) section.
## Benchmarking
Benchmarking is done from Python and scripts are contained in `fricc/benchmark`.