iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
quacc is an open-source Python framework for running and organizing computational materials science and quantum chemistry workflows. It builds on the Atomic Simulation Environment (ASE), lets you combine individual calculations into reusable workflows called “flows,” and can dispatch jobs locally, on HPC systems, or in the cloud. It does not provide computing capacity or bundle the external calculation codes: you choose and configure those separately.
What quacc does
Maintained by the Rosen Research Group at Princeton University, quacc provides pre-made workflows—called recipes—and tools to combine them into larger calculations. Its project describes the aim as making workflows easy to run and dispatch across local machines, HPC, cloud, or combinations of those environments. The framework is released under the BSD 3-Clause license.
In quacc’s model, a job is an individual calculation, while a flow connects multiple jobs. For example, the documented bulk_to_slabs_flow starts with bulk copper, creates slabs, and runs slab-relaxation and static calculations. You can customize parameters for an individual job or apply settings across jobs in the flow.
See the quacc project repository and project website for project details and current documentation.
#1 Best Overall
How to choose a quacc setup
Before writing a workflow, make three decisions. They determine what you need to install and how you will run the calculations.
1. Select a calculator for the scientific problem
quacc connects workflows to external calculation codes and calculators; it does not mean those codes are included or licensed with quacc. The official setup guide covers examples such as DFTB+, EMT, Gaussian, ONETEP, ORCA, Psi4, Q-Chem, and Quantum ESPRESSO. It also documents native support for several pretrained machine-learned interatomic potentials.
Rank #2
Installation requirements vary by calculator. Depending on your choice, you may need a separately installed package or executable, command configuration, pseudopotentials, or other code-specific components. Start with the calculator setup guide and follow the instructions for the code you intend to run.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Because quacc is built around ASE, its FAQ says users can add recipes for codes that have an ASE Calculator, even when quacc does not already provide a recipe for that code. That flexibility does not remove the need to install and configure the underlying calculator.
2. Decide whether to use a workflow manager
A basic flow can run locally and serially. For parallel execution across one or more remote machines, a workflow manager can coordinate work. quacc supports several workflow-management solutions, but you can also write ordinary Python scripts and submit them through your preferred machine and scheduler without using a workflow engine.
The practical choice depends on how much coordination your jobs need and what tools your computing environment already uses. Review the workflow documentation and FAQ before choosing an execution pattern.
Rank #4
3. Choose where jobs will run
quacc describes local, HPC, and cloud execution, including combinations of these environments. It provides an interface to supported workflow managers; it does not supply an HPC system, cloud account, or compute resources. Your available hardware, scheduler, calculator requirements, and workload scale determine the appropriate setup.
A practical way to get started
- Choose the calculation code or model. Base this decision on the scientific question, rather than assuming that one example calculator is suitable for every project.
- Install and configure that calculator. Use its section in the official calculator guide to identify prerequisites such as software installation, executables, commands, and pseudopotentials.
- Run a documented example. The guides use EMT to demonstrate a materials workflow. Treat it as a way to learn the workflow structure, not as a recommendation for a research calculation without evaluating whether its model is appropriate.
- Build from a recipe or flow. Begin with a documented calculation, then adjust the relevant job parameters or settings across the flow as needed. The copper bulk-to-slabs example shows how calculations can be linked in sequence.
- Select the execution route. For a small or simple run, start locally and serially. If jobs need parallel or remote execution, configure a supported workflow manager—or submit Python scripts through the scheduler and environment you already use.
- Validate the setup for the research task. Confirm that the chosen calculator, its configuration, and the execution environment match the intended calculation before relying on the resulting data.
What quacc does—and does not—establish about performance
quacc is an automation and workflow framework, not a guarantee that a particular calculation will run faster. The project materials do not establish a general speedup or throughput figure. Performance depends on the calculator, scientific workload, computing resources, and execution configuration; any numeric efficiency claim would need evidence for that specific workload.
Citing quacc in a publication
For research publications, the project repository directs users to cite quacc using DOI 10.5281/zenodo.7720998. Check the repository’s current citation guidance when preparing a manuscript.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

