atomate2


Nameatomate2 JSON
Version 0.0.19 PyPI version JSON
download
home_pageNone
Summaryatomate2 is a library of materials science workflows
upload_time2025-01-31 12:58:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licensemodified BSD
keywords automated dft high-throughput vasp workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # atomate2

[![tests](https://img.shields.io/github/actions/workflow/status/materialsproject/atomate2/testing.yml?branch=main&label=tests)](https://github.com/materialsproject/atomate2/actions?query=workflow%3Atesting)
[![code coverage](https://img.shields.io/codecov/c/gh/materialsproject/atomate2)](https://codecov.io/gh/materialsproject/atomate2)
[![pypi version](https://img.shields.io/pypi/v/atomate2?color=blue)](https://pypi.org/project/atomate2)
![supported python versions](https://img.shields.io/pypi/pyversions/atomate2)
[![Zenodo](https://img.shields.io/badge/DOI-10.5281/zenodo.10677081-blue?logo=Zenodo&logoColor=white)](https://zenodo.org/records/10677081)
[![This project supports Python 3.10+](https://img.shields.io/badge/Python-3.10+-blue.svg?logo=python&logoColor=white)](https://python.org/downloads)

[Documentation][docs] | [PyPI][pypi] | [GitHub][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][RelaxBandStructure] 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).

```py
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](https://pymatgen.org/installation.html#potcar-setup)
- 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][atomate2_fireworks] 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][installation].

## Tutorials

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

- [Introduction to running workflows][running-workflows]
- [Using atomate2 with FireWorks][atomate2_fireworks]
- [List of VASP workflows][vasp_workflows]

## Need help?

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

## What’s new?

Track changes to atomate2 through the [changelog][changelog].

## Contributing

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

## License

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

## Acknowledgements

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

## Citing atomate2

A journal submission of `atomate2` is undergoing peer review. In the meantime, please cite the [ChemRxiv preprint](https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9):

```bib
@article{ganose2025_atomate2,
    title        = {Atomate2: Modular Workflows for Materials Science},
    author       = {Ganose, Alex M. and Sahasrabuddhe, Hrushikesh and Asta, Mark and Beck, Kevin and Biswas, Tathagata and Bonkowski, Alexander and Bustamante, Joana and Chen, Xin and Chiang, Yuan and Chrzan, Daryl and Clary, Jacob and Cohen, Orion and Ertural, Christina and Gallant, Max and George, Janine and Gerits, Sophie and Goodall, Rhys and Guha, Rishabh and Hautier, Geoffroy and Horton, Matthew and Kaplan, Aaron and Kingsbury, Ryan and Kuner, Matthew and Li, Bryant and Linn, Xavier and McDermott, Matthew and Mohanakrishnan, Rohith Srinivaas and Naik, Aakash and Neaton, Jeffrey and Persson, Kristin and Petretto, Guido and Purcell, Thomas and Ricci, Francesco and Rich, Benjamin and Riebesell, Janosh and Rignanese, Gian-Marco and Rosen, Andrew and Scheffler, Matthias and Schmidt, Jonathan and Shen, Jimmy-Xuan and Sobolev, Andrei and Sundararaman, Ravishankar and Tezak, Cooper and Trinquet, Victor and Varley, Joel and Vigil-Fowler, Derek and Wang, Duo and Waroquiers, David and Wen, Mingjian and Yang, Han and Zheng, Hui and Zheng, Jiongzhi and Zhu, Zhuoying and Jain, Anubhav},
    year         = 2025,
    journal      = {ChemRxiv},
    url          = {https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9},
    urldate      = {2025-01-22},
}
```

[pymatgen]: https://pymatgen.org
[fireworks]: https://materialsproject.github.io/fireworks/
[jobflow]: https://materialsproject.github.io/jobflow/
[custodian]: https://materialsproject.github.io/custodian/
[VASP]: https://www.vasp.at
[AMSET]: https://hackingmaterials.lbl.gov/amset/
[help-forum]: https://matsci.org/c/atomate
[issues]: https://github.com/materialsproject/atomate2/issues
[changelog]: https://materialsproject.github.io/atomate2/about/changelog.html
[installation]: https://materialsproject.github.io/atomate2/user/install.html
[contributing]: https://materialsproject.github.io/atomate2/about/contributing.html
[contributors]: https://materialsproject.github.io/atomate2/about/contributors.html
[license]: https://raw.githubusercontent.com/materialsproject/atomate2/main/LICENSE
[running-workflows]: https://materialsproject.github.io/atomate2/user/running-workflows.html
[atomate2_fireworks]: https://materialsproject.github.io/atomate2/user/fireworks.html
[vasp_workflows]: https://materialsproject.github.io/atomate2/user/codes/vasp.html
[RelaxBandStructure]: https://materialsproject.github.io/atomate2/user/codes/vasp.html#relax-and-band-structure
[Lobster]: http://www.cohp.de
[lobsterpy]: https://github.com/JaGeo/LobsterPy
[phonopy]: https://github.com/phonopy/phonopy
[docs]: https://materialsproject.github.io/atomate2/
[github]: https://github.com/materialsproject/atomate2
[pypi]: https://pypi.org/project/atomate2

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "atomate2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "automated, dft, high-throughput, vasp, workflow",
    "author": null,
    "author_email": "Alex Ganose <alexganose@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/69/c5/ac4b9983289aa992706e619799724ce950c35b2e310711a8b02740910446/atomate2-0.0.19.tar.gz",
    "platform": null,
    "description": "# atomate2\n\n[![tests](https://img.shields.io/github/actions/workflow/status/materialsproject/atomate2/testing.yml?branch=main&label=tests)](https://github.com/materialsproject/atomate2/actions?query=workflow%3Atesting)\n[![code coverage](https://img.shields.io/codecov/c/gh/materialsproject/atomate2)](https://codecov.io/gh/materialsproject/atomate2)\n[![pypi version](https://img.shields.io/pypi/v/atomate2?color=blue)](https://pypi.org/project/atomate2)\n![supported python versions](https://img.shields.io/pypi/pyversions/atomate2)\n[![Zenodo](https://img.shields.io/badge/DOI-10.5281/zenodo.10677081-blue?logo=Zenodo&logoColor=white)](https://zenodo.org/records/10677081)\n[![This project supports Python 3.10+](https://img.shields.io/badge/Python-3.10+-blue.svg?logo=python&logoColor=white)](https://python.org/downloads)\n\n[Documentation][docs] | [PyPI][pypi] | [GitHub][github]\n\nAtomate2 is a free, open-source software for performing complex materials science\nworkflows using simple Python functions. Features of atomate2 include\n\n- It is built on open-source libraries: [pymatgen], [custodian], [jobflow], and\n  [FireWorks].\n- A library of \"standard\" workflows to compute a wide variety of desired materials\n  properties.\n- The ability scale from a single material, to 100 materials, or 100,000 materials.\n- Easy routes to modifying and chaining workflows together.\n- It can build large databases of output properties that you can query, analyze, and\n  share in a systematic way.\n- It automatically keeps meticulous records of jobs, their directories, runtime\n  parameters, and more.\n\n## Workflows\n\nSome of the workflows available in atomate2 are:\n\n- electronic band structures\n- elastic, dielectric, and piezoelectric tensors\n- one-shot electron-phonon interactions\n- electronic transport using [AMSET]\n- phonons using [phonopy]\n- defect formation energy diagrams\n- [Lobster] bonding analysis with [lobsterpy]\n\nIt is easy to customise and compose any of the above workflows.\n\n## Quick start\n\nWorkflows in atomate2 are written using the [jobflow] library. Workflows are generated using\n`Maker` objects which have a consistent API for modifying input settings and chaining\nworkflows together. Below, we demonstrate how to run a band structure workflow\n(see the [documentation][RelaxBandStructure] for more details). In total, 4 VASP\ncalculations will be performed:\n\n1. A structural optimisation.\n2. A self-consistent static calculation on the relaxed geometry.\n3. A non-self-consistent calculation on a uniform k-point mesh (for the density of\n   states).\n4. A non-self-consistent calculation on a high symmetry k-point path (for the line mode\n   band structure).\n\n```py\nfrom atomate2.vasp.flows.core import RelaxBandStructureMaker\nfrom jobflow import run_locally\nfrom pymatgen.core import Structure\n\n# construct a rock salt MgO structure\nmgo_structure = Structure(\n    lattice=[[0, 2.13, 2.13], [2.13, 0, 2.13], [2.13, 2.13, 0]],\n    species=[\"Mg\", \"O\"],\n    coords=[[0, 0, 0], [0.5, 0.5, 0.5]],\n)\n\n# make a band structure flow to optimise the structure and obtain the band structure\nbandstructure_flow = RelaxBandStructureMaker().make(mgo_structure)\n\n# run the flow\nrun_locally(bandstructure_flow, create_folders=True)\n```\n\nBefore the above code can run successfully, you'll need to\n\n- tell pymatgen where to [find your pseudopotential files](https://pymatgen.org/installation.html#potcar-setup)\n- tell atomate2 where to find your VASP binary\n- (optionally) prepare an external database to store the job output\n\nSee the [installation] steps for details how to set all of this up.\n\nIn this example, we execute the workflow immediately. In many cases, you might want\nto perform calculations on several materials simultaneously. To achieve this, all\natomate2 workflows can be run using the [FireWorks] software. See the\n[documentation][atomate2_fireworks] for more details.\n\n## Installation\n\nAtomate2 is a Python 3.10+ library and can be installed using pip. Full installation\nand configuration instructions are provided in the [installation tutorial][installation].\n\n## Tutorials\n\nThe documentation includes comprehensive tutorials and reference information to get you\nstarted:\n\n- [Introduction to running workflows][running-workflows]\n- [Using atomate2 with FireWorks][atomate2_fireworks]\n- [List of VASP workflows][vasp_workflows]\n\n## Need help?\n\nAsk questions about atomate2 on the [atomate2 support forum][help-forum].\nIf you've found an issue with atomate2, please submit a bug report on [GitHub Issues][issues].\n\n## What\u2019s new?\n\nTrack changes to atomate2 through the [changelog][changelog].\n\n## Contributing\n\nWe greatly appreciate any contributions in the form of a pull request.\nAdditional information on contributing to atomate2 can be found [here][contributing].\nWe maintain a list of all contributors [here][contributors].\n\n## License\n\nAtomate2 is released under a modified BSD license; the full text can be found [here][license].\n\n## Acknowledgements\n\nThe development of atomate2 has benefited from many people across several research groups.\nA full list of contributors can be found [here][contributors].\n\n## Citing atomate2\n\nA journal submission of `atomate2` is undergoing peer review. In the meantime, please cite the [ChemRxiv preprint](https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9):\n\n```bib\n@article{ganose2025_atomate2,\n    title        = {Atomate2: Modular Workflows for Materials Science},\n    author       = {Ganose, Alex M. and Sahasrabuddhe, Hrushikesh and Asta, Mark and Beck, Kevin and Biswas, Tathagata and Bonkowski, Alexander and Bustamante, Joana and Chen, Xin and Chiang, Yuan and Chrzan, Daryl and Clary, Jacob and Cohen, Orion and Ertural, Christina and Gallant, Max and George, Janine and Gerits, Sophie and Goodall, Rhys and Guha, Rishabh and Hautier, Geoffroy and Horton, Matthew and Kaplan, Aaron and Kingsbury, Ryan and Kuner, Matthew and Li, Bryant and Linn, Xavier and McDermott, Matthew and Mohanakrishnan, Rohith Srinivaas and Naik, Aakash and Neaton, Jeffrey and Persson, Kristin and Petretto, Guido and Purcell, Thomas and Ricci, Francesco and Rich, Benjamin and Riebesell, Janosh and Rignanese, Gian-Marco and Rosen, Andrew and Scheffler, Matthias and Schmidt, Jonathan and Shen, Jimmy-Xuan and Sobolev, Andrei and Sundararaman, Ravishankar and Tezak, Cooper and Trinquet, Victor and Varley, Joel and Vigil-Fowler, Derek and Wang, Duo and Waroquiers, David and Wen, Mingjian and Yang, Han and Zheng, Hui and Zheng, Jiongzhi and Zhu, Zhuoying and Jain, Anubhav},\n    year         = 2025,\n    journal      = {ChemRxiv},\n    url          = {https://chemrxiv.org/engage/chemrxiv/article-details/678e76a16dde43c9085c75e9},\n    urldate      = {2025-01-22},\n}\n```\n\n[pymatgen]: https://pymatgen.org\n[fireworks]: https://materialsproject.github.io/fireworks/\n[jobflow]: https://materialsproject.github.io/jobflow/\n[custodian]: https://materialsproject.github.io/custodian/\n[VASP]: https://www.vasp.at\n[AMSET]: https://hackingmaterials.lbl.gov/amset/\n[help-forum]: https://matsci.org/c/atomate\n[issues]: https://github.com/materialsproject/atomate2/issues\n[changelog]: https://materialsproject.github.io/atomate2/about/changelog.html\n[installation]: https://materialsproject.github.io/atomate2/user/install.html\n[contributing]: https://materialsproject.github.io/atomate2/about/contributing.html\n[contributors]: https://materialsproject.github.io/atomate2/about/contributors.html\n[license]: https://raw.githubusercontent.com/materialsproject/atomate2/main/LICENSE\n[running-workflows]: https://materialsproject.github.io/atomate2/user/running-workflows.html\n[atomate2_fireworks]: https://materialsproject.github.io/atomate2/user/fireworks.html\n[vasp_workflows]: https://materialsproject.github.io/atomate2/user/codes/vasp.html\n[RelaxBandStructure]: https://materialsproject.github.io/atomate2/user/codes/vasp.html#relax-and-band-structure\n[Lobster]: http://www.cohp.de\n[lobsterpy]: https://github.com/JaGeo/LobsterPy\n[phonopy]: https://github.com/phonopy/phonopy\n[docs]: https://materialsproject.github.io/atomate2/\n[github]: https://github.com/materialsproject/atomate2\n[pypi]: https://pypi.org/project/atomate2\n",
    "bugtrack_url": null,
    "license": "modified BSD",
    "summary": "atomate2 is a library of materials science workflows",
    "version": "0.0.19",
    "project_urls": {
        "changelog": "https://github.com/materialsproject/atomate2/blob/main/CHANGELOG.md",
        "documentation": "https://materialsproject.github.io/atomate2/",
        "homepage": "https://materialsproject.github.io/atomate2/",
        "repository": "https://github.com/materialsproject/atomate2"
    },
    "split_keywords": [
        "automated",
        " dft",
        " high-throughput",
        " vasp",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e9536982de78f4ed430c130e1b2177b5a1be2290e4cc4e32f019bfa2ae6c9429",
                "md5": "93ddeb0f02481ba682410e1643ec30f8",
                "sha256": "23f85c890439bf1c619c0f6b55d3a3d5cf5c5604e071749f323e5e87a6d87641"
            },
            "downloads": -1,
            "filename": "atomate2-0.0.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "93ddeb0f02481ba682410e1643ec30f8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 458945,
            "upload_time": "2025-01-31T12:58:14",
            "upload_time_iso_8601": "2025-01-31T12:58:14.827968Z",
            "url": "https://files.pythonhosted.org/packages/e9/53/6982de78f4ed430c130e1b2177b5a1be2290e4cc4e32f019bfa2ae6c9429/atomate2-0.0.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "69c5ac4b9983289aa992706e619799724ce950c35b2e310711a8b02740910446",
                "md5": "ef0da1a53121136fdd4e32b8cfdaeac8",
                "sha256": "c19ff34f717904765302d5c99cd5199111c3115b21a4b92d375ddff9264a1ae4"
            },
            "downloads": -1,
            "filename": "atomate2-0.0.19.tar.gz",
            "has_sig": false,
            "md5_digest": "ef0da1a53121136fdd4e32b8cfdaeac8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 355574,
            "upload_time": "2025-01-31T12:58:17",
            "upload_time_iso_8601": "2025-01-31T12:58:17.398149Z",
            "url": "https://files.pythonhosted.org/packages/69/c5/ac4b9983289aa992706e619799724ce950c35b2e310711a8b02740910446/atomate2-0.0.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-31 12:58:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "materialsproject",
    "github_project": "atomate2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "atomate2"
}
        
Elapsed time: 5.41816s