{"id":13833070,"url":"https://github.com/pfloos/QuAcK","last_synced_at":"2025-07-09T20:31:10.436Z","repository":{"id":74981691,"uuid":"169647346","full_name":"pfloos/QuAcK","owner":"pfloos","description":"QuAcK: a software for emerging quantum electronic structure methods","archived":false,"fork":false,"pushed_at":"2025-07-08T07:19:33.000Z","size":21692,"stargazers_count":26,"open_issues_count":0,"forks_count":11,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-07-08T08:32:22.691Z","etag":null,"topics":["computational-chemistry","coupled-cluster","density-functional-theory","electronic-structure","electronic-structure-calculations","greens-functions","hartree-fock","many-body-perturbation-theory","n-body-problem","perturbation-theory","quantum-chemistry","quantum-chemistry-methods","quantum-chemistry-packages","quantum-chemistry-programs","quantum-mechanics"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pfloos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-07T21:44:16.000Z","updated_at":"2025-07-08T07:19:37.000Z","dependencies_parsed_at":"2023-12-31T11:27:22.258Z","dependency_job_id":"d4c5d1b8-5205-4629-8b97-262adb1f6092","html_url":"https://github.com/pfloos/QuAcK","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pfloos/QuAcK","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfloos%2FQuAcK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfloos%2FQuAcK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfloos%2FQuAcK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfloos%2FQuAcK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pfloos","download_url":"https://codeload.github.com/pfloos/QuAcK/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pfloos%2FQuAcK/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264502645,"owners_count":23618663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computational-chemistry","coupled-cluster","density-functional-theory","electronic-structure","electronic-structure-calculations","greens-functions","hartree-fock","many-body-perturbation-theory","n-body-problem","perturbation-theory","quantum-chemistry","quantum-chemistry-methods","quantum-chemistry-packages","quantum-chemistry-programs","quantum-mechanics"],"created_at":"2024-08-04T11:00:38.781Z","updated_at":"2025-07-09T20:31:10.429Z","avatar_url":"https://github.com/pfloos.png","language":"Fortran","funding_links":[],"categories":["programs"],"sub_categories":[],"readme":"\n# 🦆 QuAcK: an open-source software for emerging quantum electronic structure methods\n\n![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)\n![Fortran 90](https://img.shields.io/badge/language-Fortran%2090-yellow)\n![Stars](https://img.shields.io/github/stars/pfloos/QuAcK?style=social)\n![Forks](https://img.shields.io/github/forks/pfloos/QuAcK?style=social)\n\n---\n\n\u003cimg src=\"logo/logo_quack.png\"  width=\"250\"\u003e\n\n---\n\n## 👥 Contributors\n\n- [Pierre-Francois Loos](https://pfloos.github.io/WEB_LOOS)\n- [Anthony Scemama](https://scemama.github.io)\n- [Enzo Monino](https://enzomonino.github.io)\n- [Antoine Marie](https://antoine-marie.github.io)\n- [Abdallah Ammar](https://scholar.google.com/citations?user=y437T5sAAAAJ\u0026hl=en)\n- [Mauricio Rodriguez-Mayorga](https://scholar.google.com/citations?user=OLGOgQgAAAAJ\u0026hl=es)\n- [Loris Burth](https://github.com/lburth)\n\n---\n\n## 🚀 Features\n\n- **Rapid Prototyping:** Ideal for testing and developing new quantum chemistry methods.\n- **Modular Design:** Easily integrate with other tools and libraries.\n- **Educational Tool:** Serves as an excellent entry point for researchers familiar with electronic structure theory.\n- **Integration with PySCF:** Utilizes [PySCF](https://github.com/pyscf/pyscf) for computing one- and two-electron integrals.\n\n---\n\n## What is it?\n\n**QuAcK** is a lightweight electronic structure program written in `Fortran 90`, developed at the [Laboratoire de Chimie et Physique Quantiques (LCPQ)](https://www.lcpq.ups-tlse.fr) in Toulouse, France. Originally designed as a platform for rapid prototyping of new ideas in quantum chemistry, QuAcK serves as a flexible and accessible environment for testing novel methods before integrating them more efficiently into larger-scale projects such as the [Quantum Package](https://quantumpackage.github.io/qp2/).\n\nThanks to its compact and transparent codebase, QuAcK is particularly well-suited for experienced PhD students and postdoctoral researchers who are already familiar with electronic structure theory and want to quickly implement or explore new concepts. Written in a clean and relatively straightforward programming language, it provides an excellent entry point for those looking to dive into method development.\n\nFor beginners in the field or those with less programming experience, we recommend starting with [qcmath](https://github.com/LCPQ/qcmath/), a symbolic and numerical quantum chemistry toolkit built in [Mathematica](https://www.wolfram.com/mathematica/). qcmath is specifically designed to help newcomers explore and develop ideas without the complexity of full-fledged numerical implementations.\n\n\u003e ⚠️ **Note:** QuAcK is under active and ongoing development, which means that bugs, inconsistencies, and incomplete features are to be expected. It is a tool made *by* experts *for* experts—users are expected to understand what they’re doing and to remain cautious when interpreting results. The code may allow questionable inputs or behavior *on purpose*, to encourage flexibility during prototyping—so always double-check your results and assumptions. In short: use QuAcK at your own risk—but also to your advantage, if you're ready to experiment and explore.\n\n---\n\n## 🛠️ Installation\n\nThe QuAcK software can be downloaded on GitHub as a Git repository\n```\ngit clone https://github.com/pfloos/QuAcK.git\n```\n\nThen, one must define the variable `QUACK_ROOT`. For example, \n```\nexport QUACK_ROOT=$HOME/Work/QuAcK\n```\nYou must also install [PySCF](https://pyscf.org) (for example using `pip`)\n```\npip install pyscf\n```\n\nPySCF is used for the computation of one- and two-electron integrals (mainly) which are dumped in files and read by QuAcK.\nTherefore, it is very easy to use other software to compute the integrals or to add other types of integrals.\n\nThen, go to the `src` directory and compile\n```\ncd src; make\n```\n\n## ⚡ Quick Start\n\n```\n~ 💩 % cd $QUACK_ROOT\nQuAcK 💩 % python PyDuck.py -h\nusage: PyDuck.py [-h] -b BASIS [--bohr] [-c CHARGE] [--cartesian] [--print_2e] [--formatted_2e] [--mmap_2e] [--aosym_2e] [-fc FROZEN_CORE]\n                 [-m MULTIPLICITY] [--working_dir WORKING_DIR] -x XYZ\n\nThis script is the main script of QuAcK, it is used to run the calculation. If $QUACK_ROOT is not set, $QUACK_ROOT is replaces by the current\ndirectory.\n\noptions:\n  -h, --help            show this help message and exit\n  -b, --basis BASIS     Name of the file containing the basis set information in the $QUACK_ROOT/basis/ directory\n  --bohr                By default QuAcK assumes that the xyz files are in Angstrom. Add this argument if your xyz file is in Bohr.\n  -c, --charge CHARGE   Total charge of the molecule. Specify negative charges with \"m\" instead of the minus sign, for example m1 instead of -1.\n                        Default is 0\n  --cartesian           Add this option if you want to use cartesian basis functions.\n  --print_2e            If True, print ERIs to disk.\n  --formatted_2e        Add this option if you want to print formatted ERIs.\n  --mmap_2e             If True, avoid using DRAM when generating ERIs.\n  --aosym_2e            If True, use 8-fold symmetry in ERIs.\n  -fc, --frozen_core FROZEN_CORE\n                        Freeze core orbitals. Default is false\n  -m, --multiplicity MULTIPLICITY\n                        Spin multiplicity. Default is 1 (singlet)\n  --working_dir WORKING_DIR\n                        Set a working directory to run the calculation.\n  -x, --xyz XYZ         Name of the file containing the nuclear coordinates in xyz format in the $QUACK_ROOT/mol/ directory without the .xyz\n                        extension\n```\n\nThe two most important files are:\n- `$QUACK_ROOT/input/methods` that gathers the methods you want to use.\n- `$QUACK_ROOT/input/options` that gathers the different options associated these methods.\n\nCopy the files `methods.default` and `options.default` to `methods` and `options`, respectively.\n```\ncp $QUACK_ROOT/input/methods.default $QUACK_ROOT/input/methods\ncp $QUACK_ROOT/input/options.default $QUACK_ROOT/input/options\n```\nYou can then edit these files to run the methods you'd like (by replacing `F` with `T`) with specific options.\nThese files look like this\n```\nQuAcK 💩 % cat input/methods \n# RHF UHF GHF ROHF HFB \n  F   F   F   F    F\n# MP2 MP3 \n  F   F   \n# CCD pCCD DCD CCSD CCSD(T) \n  F   F    F   F    F\n# drCCD rCCD crCCD lCCD\n  F     F    F     F\n# CIS CIS(D) CID CISD FCI\n  F   F      F   F    F\n# phRPA phRPAx crRPA ppRPA \n  F     F      F     F \n# G0F2 evGF2 qsGF2 ufGF2 G0F3 evGF3\n  F    F     F     F    F    F\n# G0W0 evGW qsGW ufG0W0 ufGW\n  F    F    F    F      F\n# G0T0pp evGTpp qsGTpp ufG0T0pp\n  F      F      F      F\n# G0T0eh evGTeh qsGTeh\n  F      F      F\n# Parquet\n  F\n# Rtest Utest Gtest\n  F     F     F\n```\nand\n```\nQuAcK 💩 % cat input/options \n# HF: maxSCF thresh  DIIS guess mix shift stab search\n      256    0.00001 5    1     0.0 0.0   F    F\n# MP: reg\n      F\n# CC: maxSCF thresh   DIIS\n      64     0.00001  5\n# LR: TDA singlet triplet\n      F   T       T\n# GF: maxSCF thresh  DIIS lin eta renorm reg\n      256    0.00001 5    F   0.0 0      F\n# GW: maxSCF thresh  DIIS lin eta TDA_W reg\n      256    0.00001 5    F   0.0 F     F \n# GT: maxSCF thresh  DIIS lin eta TDA_T reg\n      256    0.00001 5    F   0.0 F     F  \n# ACFDT: AC Kx  XBS\n         F  F   T\n# BSE: phBSE phBSE2 ppBSE dBSE dTDA\n       F     F      F     F    T    \n# HFB: temperature  sigma chem_pot_HF restart_HFB\n          0.05      1.00  T           F\n# Parquet: TDAeh TDApp max_it_1b conv_1b max_it_2b conv_2b DIIS_1b DIIS_2b lin reg\n           T     T     10        0.00001 10        0.00001 2       2       T   100.0\n```\n\nFor example, if you want to run a calculation on water using the cc-pvdz basis set:\n```\nQuAcK 💩 % python PyDuck.py -x water -b cc-pvdz\n```\n\nQuAcK runs calculations in the `QUACK_ROOT` directory which is quite unusual but it also use the `--working_dir` option to run calculations elsewhere.\n\n---\n\n## 📄 License\n\nQuAcK is licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html).\n\n---\n\n## 📫 Contact\n\nFor questions or contributions, please open an issue or submit a pull request on the [GitHub repository](https://github.com/pfloos/QuAcK).\n\n--- \n\n## 💰 Funding\n\n\u003cimg src=\"https://lcpq.github.io/PTEROSOR/img/ERC.png\" width=\"200\" /\u003e\n\nQuAcK is supported by the [PTEROSOR](https://lcpq.github.io/PTEROSOR/) project that has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (Grant agreement No. 863481).\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfloos%2FQuAcK","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpfloos%2FQuAcK","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpfloos%2FQuAcK/lists"}