Skip to main content
Logo

HEACalculator

License: GPL v3 Python Platforms

Tests Lint

DOI DOI

HEACalculator is a Python tool for calculating phenomenological parameters based on thermodynamics and physics to predict the formation of solid solutions in High Entropy Alloys (HEAs). It provides both a CLI (Typer) and GUI (PyQt6) interface.

Report a Bug | Request a Feature | Documentation


Installation

[!NOTE] GUI support requires PyQt6, which is an optional dependency. Install with the [gui] extra if needed.

Choose the workflow that matches how you want to use HEACalculator.

Add to a Project with uv

Use this when HEACalculator should be installed inside a project's environment.

uv add HEACalculator
uv add "HEACalculator[gui]"

Use as a Standalone Tool with uv

Use this when you want uv to manage HEACalculator as a CLI tool rather than a project dependency.

Persistent install:

uv tool install HEACalculator
HEACalculator --help

One-off run without installing permanently:

uvx HEACalculator search single FeCoCrNi

With GUI support:

uv tool install "HEACalculator[gui]"
HEACalculator gui

or

uvx --from "HEACalculator[gui]" HEACalculator gui

Install with pip

Use this if you are not using uv.

pip install HEACalculator          # CLI only
pip install "HEACalculator[gui]"   # with GUI support

Usage

Command Line Interface

Run HEACalculator without arguments to display the help text.

HEACalculator


Single Alloy Calculations

HEACalculator_SearchSingle

HEACalculator search single <ALLOY> calculates all parameters and predictions for the given alloy and prints results to stdout.

HEACalculator search single FeCoCrNi

Append --json to get a machine-readable JSON output with raw numeric values instead of formatted text:

HEACalculator search single FeCoCrNi --json

Range Screening

HEACalculator_SearchRange

HEACalculator search range calculates all parameters and predictions for a composition range over a set of elements. Compositions are evaluated in parallel across all available CPU cores, so large screens complete significantly faster.

HEACalculator search range --elements "Al Ti V" --start 0 --end 100 --step 5

Append --csv / --json to redirect output to a file:

HEACalculator search range --elements "Al Ti V" --start 0 --end 100 --step 5 --csv > results.csv
HEACalculator search range --elements "Al Ti V" --start 0 --end 100 --step 5 --json > results.ndjson

CSV Batch Calculations

HEACalculator search csv <FILE> calculates all parameters and predictions for every alloy listed in a CSV file.

[!IMPORTANT] The input CSV file must contain a column named composition. Each row in that column should be a valid alloy formula (e.g. FeCoCrNi). Any other columns in the file are ignored.

HEACalculator search csv alloys.csv

Append --json to get machine-readable JSON output instead of formatted text:

HEACalculator search csv alloys.csv --json

Graphical User Interface

HEACalculator gui

The GUI has two pages, switched via the navigation buttons on the left:


Parameters page (single alloy)

HEACalculator_GUI-Parameters
  1. Select elements from the periodic table (percentages are distributed equally by default)
  2. Adjust the at% values in the composition table as needed
  3. Click Calculate
  4. Click Save to export results as CSV

Batch Calculations page (range screening)

HEACalculator_GUI-RangeSearch

Equivalent to search range.

  1. Select elements from the periodic table
  2. Set the composition range and step size
  3. Click Search
  4. Click Save to export results as CSV

Features

  • Property calculations

    • Density
    • Melting Temperature
    • Mixing Enthalpy 1
    • Miedema Mixing Enthalpy 2
    • Mixing Entropy
    • Formation Enthalpy 3
    • Valence Electron Concentration (VEC)
    • Hume-Rothery Electron-to-Atom Ratio (e/a) 4
  • Parameters and predictions

    • Expected Microstructure 5
    • Delta Parameter (Atomic Size Difference) 6
    • Delta Parameter (CN12-corrected Atomic Size Difference) 6
    • Electronegativity Difference (Allen CE scale)
    • Electronegativity Difference (Pauling scale) 7
    • Omega Parameter 8
    • Gamma Parameter 9
    • Lambda Parameter 10
    • Solid Solution Prediction Models
      • Model 1 8
      • Model 2 11
      • Model 3 9
      • Model 4 10
      • Model 5 12
      • Model 6 3
      • Model 7 13
      • Model 8 2

License

This project is licensed under the GNU GPLv3 License. See the LICENSE file for details.


Citation

If you use HEACalculator in your research, please cite the following:

Sarıtürk, D., Kalay, Y. E., & Arróyave, R. (2026). HEACalculator: An Open-Source Python Tool for Thermodynamic Property Calculation and Solid Solution Prediction in High-Entropy Alloys. arXiv. https://doi.org/10.48550/arXiv.2606.19661

Sarıtürk, D. (2019). HEACalculator. Zenodo. https://doi.org/10.5281/zenodo.3590318

BibTeX:

@misc{sariturk_2026_arxiv,
  author    = {Sarıtürk, Doğuhan and Kalay, Yunus Eren and Arróyave, Raymundo},
  title     = {{HEACalculator}: An Open-Source {Python} Tool for Thermodynamic Property Calculation and Solid Solution Prediction in High-Entropy Alloys},
  year      = 2026,
  publisher = {arXiv},
  doi       = {10.48550/arXiv.2606.19661},
  url       = {https://doi.org/10.48550/arXiv.2606.19661},
}

@software{sariturk_2019_3590318,
  author    = {Sarıtürk, Doğuhan},
  title     = {HEACalculator},
  year      = 2019,
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.3590318},
  url       = {https://doi.org/10.5281/zenodo.3590318},
}
  1. Zhang, Y.; Zuo, T.T.; Tang, Z.; Gao, M.C.; Dahmen, K.A.; Liaw, P.K.; Lu, Z.P. Prog. Mater. Sci. 2014, 61.

  2. D.J.M. King, S.C. Middleburgh, A.G. McGregor, M.B. Cortie, Acta Mater. 104 (2016) 172–179. 2

  3. Troparevsky, M. C.; Morris, J. R.; Kent, P. R. C.; Lupini, A. R.; Stocks, G. M.; Phys. Rev. X, 5(1) (2015) 2

  4. Hume-Rothery, W.; Smallman, R.E.; Haworth, C.W. The Structure of Metals and Alloys, 5th ed.; Institute of Metals: London, 1969.

  5. Guo, S.; Ng, C.; Lu, J.; Liu, C.T. J. Appl. Phys. 2011, 109, 103505.

  6. S.S.Fang, X. S. Xiao, L. Xia, W. H. Li, Y. D. Dong, J. Non-Cryst. Solids 2003, 321, 120. 2

  7. Haynes, W.M. CRC Handbook of Chemistry and Physics, 95th ed.; CRC Press: London, 2014. ISBN 9781482208689.

  8. Yang, X.; Zhang, Y. Mater. Chem. Phys. 2012, 132, 233–238. 2

  9. Wang, Z.; Huang, Y.; Yang, Y.; Wang, J.; Liu, C.T.; Scr. Mater. 94 (2015) 28–31. 2

  10. Singh, A.K.; Kumar N.; Dwivedi A.; Subramaniam A.; Intermetallics 53 (2014) 112–119. 2

  11. S. Guo, Q. Hu, C. Ng, C.T. Liu, Intermetallics 41 (0) (2013) 96–103.

  12. Y.F. Ye, Q. Wang, J. Lu, C.T. Liu, Y. Yang, Scr. Mater. 104 (2015) 53–55.

  13. O.N. Senkov, D.B. Miracle, J. Alloys Compd. 658 (2016) 603–607.

Download files

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

Source Distribution

heacalculator-2.0.2.tar.gz (662.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heacalculator-2.0.2-py3-none-any.whl (340.7 kB view details)

Uploaded Python 3

File details

Details for the file heacalculator-2.0.2.tar.gz.

File metadata

  • Download URL: heacalculator-2.0.2.tar.gz
  • Upload date:
  • Size: 662.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heacalculator-2.0.2.tar.gz
Algorithm Hash digest
SHA256 3f60d50c390b34ff36ca68deae6082cc32f9708cded8111443c35cef67307d33
MD5 52a605f1ad20b3cb23fe7a8188168a1d
BLAKE2b-256 77bec775095ef58075bc99155b3d7f93cfb8b3e7ff4ee28b353343e5a3c4cc86

See more details on using hashes here.

File details

Details for the file heacalculator-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: heacalculator-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 340.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for heacalculator-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b48ec067852f05a8c3fab1a3ac581e8c5a786a0bdebd40777be5a142b55b2c
MD5 7f2b9fb0c9494861e850eee45465ff63
BLAKE2b-256 4d50aef81f126ed61f8582a20cbf926b023f562c11cb024267b9ed777c612df6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 files

2.0.1

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page