Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 15 days 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 (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-02T13:31:00.000Z (about 1 year ago)
- Last Synced: 2023-10-02T16:43:03.928Z (about 1 year ago)
- Topics: electronic-structure, pyscf, quantum-chemistry
- Language: Python
- Homepage:
- Size: 275 KB
- Stars: 1
- 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
[![GitHub Actions](https://github.com/jamesETsmith/fri-cc/actions/workflows/cmake.yml/badge.svg)](https://github.com/jamesETsmith/fri-cc/actions)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/6bf6b7d62d3442c89a4e4017e1e6213b)](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 [email protected]: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 [email protected]: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`.