Skip to content

MineralsCloud/Express.jl


Express: a high-level, extensible workflow framework for accelerating ab initio calculations

Documentation Build Status Others
Stable Dev Build Status Build Status Build Status pipeline status Coverage GitHub license Code Style: Blue

"Express" is a extensible, high-performance workflow framework designed to automate ab initio calculations in the field of materials science. This framework includes rigorously tested workflow templates for tasks such as structure optimization, equation of state (EOS) fitting, phonon spectrum (lattice dynamics) computation, and thermodynamic property calculation within the quasi-harmonic approximation (QHA) framework. Express is structured with modularity in mind, enabling the reuse of its components across diverse applications and facilitating the development of customized workflows.

The code is hosted on GitHub, with some continuous integration services to test its validity.

This repository is created and maintained by @singularitti. You are very welcome to contribute.

Please cite this package as:

Q. Zhang, C. Gu, J. Zhuang et al., express: extensible, high-level workflows for swifter ab initio materials modeling, Computer Physics Communications, 108515, doi: https://doi.org/10.1016/j.cpc.2022.108515.

The BibTeX format is:

@article{ZHANG2022108515,
  title    = {express: extensible, high-level workflows for swifter ab initio materials modeling},
  journal  = {Computer Physics Communications},
  pages    = {108515},
  year     = {2022},
  issn     = {0010-4655},
  doi      = {https://doi.org/10.1016/j.cpc.2022.108515},
  url      = {https://www.sciencedirect.com/science/article/pii/S001046552200234X},
  author   = {Qi Zhang and Chaoxuan Gu and Jingyi Zhuang and Renata M. Wentzcovitch},
  keywords = {automation, workflow, high-level, high-throughput, data lineage}
}

We also have an arXiv prepint.

Installation

The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add Express

Or, equivalently, via the Pkg API:

julia> import Pkg; Pkg.add("Express")

Documentation

  • STABLEdocumentation of the most recently tagged version.
  • DEVdocumentation of the in-development version.

Here is a video introduction to this code:

Watch the video

Project status

The package is tested against, and being developed for, Julia 1.6 and above on Linux, macOS, and Windows.

Questions and contributions

You are welcome to post usage questions on our discussion page.

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems. The Contributing page has guidelines that should be followed when opening pull requests and contributing code.

Stargazers over time

Stargazers over time