Skip to main content

atomate2 is a library of materials science workflows

Project description

atomate2

tests code coverage pypi version supported python versions Zenodo This project supports Python 3.10+

Documentation | PyPI | GitHub

Atomate2 is a free, open-source software for performing complex materials science workflows using simple Python functions. Features of atomate2 include

  • It is built on open-source libraries: pymatgen, custodian, jobflow, and FireWorks.
  • A library of "standard" workflows to compute a wide variety of desired materials properties.
  • The ability scale from a single material, to 100 materials, or 100,000 materials.
  • Easy routes to modifying and chaining workflows together.
  • It can build large databases of output properties that you can query, analyze, and share in a systematic way.
  • It automatically keeps meticulous records of jobs, their directories, runtime parameters, and more.

Workflows

Some of the workflows available in atomate2 are:

  • electronic band structures
  • elastic, dielectric, and piezoelectric tensors
  • one-shot electron-phonon interactions
  • electronic transport using AMSET
  • phonons using phonopy
  • defect formation energy diagrams
  • Lobster bonding analysis with lobsterpy

It is easy to customise and compose any of the above workflows.

Quick start

Workflows in atomate2 are written using the jobflow library. Workflows are generated using Maker objects which have a consistent API for modifying input settings and chaining workflows together. Below, we demonstrate how to run a band structure workflow (see the documentation for more details). In total, 4 VASP calculations will be performed:

  1. A structural optimisation.
  2. A self-consistent static calculation on the relaxed geometry.
  3. A non-self-consistent calculation on a uniform k-point mesh (for the density of states).
  4. A non-self-consistent calculation on a high symmetry k-point path (for the line mode band structure).
from atomate2.vasp.flows.core import RelaxBandStructureMaker
from jobflow import run_locally
from pymatgen.core import Structure

# construct a rock salt MgO structure
mgo_structure = Structure(
    lattice=[[0, 2.13, 2.13], [2.13, 0, 2.13], [2.13, 2.13, 0]],
    species=["Mg", "O"],
    coords=[[0, 0, 0], [0.5, 0.5, 0.5]],
)

# make a band structure flow to optimise the structure and obtain the band structure
bandstructure_flow = RelaxBandStructureMaker().make(mgo_structure)

# run the flow
run_locally(bandstructure_flow, create_folders=True)

Before the above code can run successfully, you'll need to

  • tell pymatgen where to find your pseudopotential files
  • tell atomate2 where to find your VASP binary
  • (optionally) prepare an external database to store the job output

See the installation steps for details how to set all of this up.

In this example, we execute the workflow immediately. In many cases, you might want to perform calculations on several materials simultaneously. To achieve this, all atomate2 workflows can be run using the FireWorks software. See the documentation for more details.

Installation

Atomate2 is a Python 3.10+ library and can be installed using pip. Full installation and configuration instructions are provided in the installation tutorial.

Tutorials

The documentation includes comprehensive tutorials and reference information to get you started:

Need help?

Ask questions about atomate2 on the atomate2 support forum. If you've found an issue with atomate2, please submit a bug report on GitHub Issues.

What’s new?

Track changes to atomate2 through the changelog.

Contributing

We greatly appreciate any contributions in the form of a pull request. Additional information on contributing to atomate2 can be found here. We maintain a list of all contributors here.

License

Atomate2 is released under a modified BSD license; the full text can be found here.

Acknowledgements

The development of atomate2 has benefited from many people across several research groups. A full list of contributors can be found here.

Citing atomate2

A journal submission for atomate2 is planned. In the meantime, please use citation.cff and the Zenodo record to cite atomate2.

@software{ganose_atomate2_2024,
  author = {Ganose, Alex and Riebesell, Janosh and George, J. and Shen, Jimmy and S. Rosen, Andrew and Ashok Naik, Aakash and nwinner and Wen, Mingjian and rdguha1995 and Kuner, Matthew and Petretto, Guido and Zhu, Zhuoying and Horton, Matthew and Sahasrabuddhe, Hrushikesh and Kaplan, Aaron and Schmidt, Jonathan and Ertural, Christina and Kingsbury, Ryan and McDermott, Matt and Goodall, Rhys and Bonkowski, Alexander and Purcell, Thomas and Zügner, Daniel and Qi, Ji},
  doi = {10.5281/zenodo.10677081},
  license = {cc-by-4.0},
  month = jan,
  title = {atomate2},
  url = {https://github.com/materialsproject/atomate2},
  version = {0.0.13},
  year = {2024}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomate2-0.0.18.tar.gz (352.6 kB view details)

Uploaded Source

Built Distribution

atomate2-0.0.18-py3-none-any.whl (454.9 kB view details)

Uploaded Python 3

File details

Details for the file atomate2-0.0.18.tar.gz.

File metadata

  • Download URL: atomate2-0.0.18.tar.gz
  • Upload date:
  • Size: 352.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for atomate2-0.0.18.tar.gz
Algorithm Hash digest
SHA256 5da3d78c322574e2f3281efe56da2e194d0e271e3eb13f5f5c9216d5e92ec00c
MD5 72208c5886964f563543366e3f1abf3c
BLAKE2b-256 9ccfba4190a59c9df8c81846256101857b7da13a17cd06439747a00e67954237

See more details on using hashes here.

File details

Details for the file atomate2-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: atomate2-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 454.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for atomate2-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 715e6b99e8c01d83c01651c3d75aff8a43bb1313fc30ca675c9afa4e38b18678
MD5 115387a916e256e5b1d65684068ad70a
BLAKE2b-256 8d2c6362add79d9d5da9d6e990b2de078205102872484a5df8cf7f522bafbf58

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page