Features · Compilation · Examples · Credits · Docs
Quantum Acorn, a collection of electronic structure methods compiled into a dependency-free binary. If you are here for the educational scripts, you can find them in the education folder.
Below are all the important features of Acorn divided into categories.
- Numerically Exact Adiabatic & Nonadiabatic Quantum Dynamics with Arbitrary Number of States & Dimensions
- Restricted Hartree–Fock for Closed Shell & Generalized Hartree–Fock for Open Shell Systems
- Møller–Plesset Perturbation Theory, Configuration Interaction & Coupled Cluster Methods
All the libraries the program needs are included in the installation script. To install all the libraries, navigate to the project root directory and execute the following command.
./script/general/library.sh SHARED 1
You can also perform a static compilation. The number at the end is number of cores the compilation process uses. The program needs some heavy libraries so it takes some time. After the library compilation finishes, all the header files and compiled libraries can be found in the external directory. If you don't want to wait for the compilation process, you can also download libraries used in the latest release by running the following command.
./script/general/libdown.sh SHARED
This command also creates the external directory with libraries. After you have obtained the compiled libraries, configure the project by the following command.
cmake -B build -DCMAKE_BUILD_TYPE=Release -DSTATIC=OFF
And build with the following command.
cmake --build build
After the compilation, the bin folder will be created along with the executable.
All the examples are located in example/input
folder. To run an example Hartree-Fock calculation, execute the corresponding example file using the acorn -i example/input/hf.json
command from the project root. Feel free to explore all the examples.
- argparse - Argument Parser for Modern C++.
- eigen - C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
- exprtk - C++ Mathematical Expression Parsing and Evaluation Library.
- fftw - C Subroutine Library for Computing the Discrete Fourier Transform.
- json - JSON for Modern C++.
- libint - High-Performance Library for Computing Gaussian Integrals in Quantum Mechanics.
- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.