Search Blogs

Thursday, February 8, 2024

Democratizing High Throughput Comp. Chem.

Just came across the recipe/workflow package QuAcc which stands for quantum accelerator [1]. It comes out of the Rosen Research Group at Princeton University. What really caught my eye is 1.) how many different calculation engines are supported and 2.) the number of recipes already in place. A recipe is a workflow that produces some results that typically can be analyzed or plotted.

QuAcc is a python package and appears to be fairly intricate in what it does and how its support for different workflow engines. To define a workflow one creates decorated python functions which instruct on how to setup the workflow. Fortunately, you don't need to learn everything right away, since there are several predefined recipes.

In my opinion, one thing this type of package does for computational/experimental chemist and materials scientist is it makes it more tangible for them to setup supporting theory calculations/analysis. Furthermore, we can think about having LLMs write QuAcc @jobs and @flows, thereby advancing automation in computational chemistry and materials science.

Quantum ☕ phonon recipe

from ase.build import bulk from quacc.recipes.espresso.core import relax_job from quacc.recipes.espresso.phonons import phonon_job
atoms = bulk("Cu") kw = { 'occupations': 'smearing', 'smearing': 'gaussian', 'degauss': 0.02, 'kpts': (6, 6, 6) }
job_1 = relax_job(atoms, kw)
job_2 = phonon_job( job_1['dir_name'], parallel_info=None, test_run=False,
kw, )

Thats it! There is a little bit of setup for QuAcc, the associated calculators and workflow engines, but it is well documented so I'm not going to go over it here [1].

Example Setup

If your interested, here is a colab notebook that you can use which setups quantum espresso.

I should note that there are other ways to achieve this with a few lines of code using different packages, but they aren't workflow engines. Whats nice here is you get two things:

  1. Reproducibility and the ability to dispatch anywhere (i.e., locally or HPC)
  2. Capacity to design detailed and complex recipes using simple python decorators.

You can also use a database for your results via maggma. I don't know how good this option is, but its there.

Who might use this

At first glance this may seem a bit too powerful for individual users who are just studying a small set of combined calculations and analysis, for example, you need to calculate the vibrational properties of a few molecules and then post-process the results. However, with the increased focus on informatics and training ML/AI models on such data, there will be more individuals who will want to have workflows in place that allow them to study 1000's to 100,000's without much headache; QuAcc will let you do that!

As for research groups, this type of infrastructure is going to be a mainstay and is my guess why the Rosen group worked on such package. Imagine you have several students working on different types of chemical or material systems for various applications, however you are going to be generating a lot of the same types of calculations. What better way to ensure reproducibility and consistency then to have a collection of recipes that can be run anywhere.

Just to harp on this a bit longer, say NSF gives you a grant to study high-entropy alloys (HEA), you put in place very complicated workflows to calculate phonon properties using techniques like Special Quasirandom Structure (SQS) or Random Substitution Super Cell (RSSC) methods along with band unfolding technique. This workflow will have many steps involved! Now say DoE gives you a grant to study the thermal aspects of new compositions for doped thermoelectric superlattices. This curated workflow for HEA will be of tremendous utility and most likely all that you will need to change is the parameters associated with the calculations at each job. You'll also need a lot of compute 😉.

It could be that experimentalist also find value in this. I could imagine that they might be able to write workflows that perform computation and analysis for comparison to experimental data. Of course they will need the assistance of an experienced computational chemist or materials scientist, but it will democratize high-throughput computing.

If you know of any similar packages other than the big ones like the Materials Project leave a comment but in the meantime lets all QuAcc like a 🦆.

References

[1] A. Rosen, quacc – The Quantum Accelerator. https://doi.org/10.5281/zenodo.7720998.


Reuse and Attribution

No comments:

Post a Comment

Please refrain from using ad hominem attacks, profanity, slander, or any similar sentiment in your comments. Let's keep the discussion respectful and constructive.