A Python tool for calculating phenomenological parameters to predict solid solution formation in High Entropy Alloys (HEAs)
Project description
HEACalculator
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.
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.
Single Alloy Calculations
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 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)
- Select elements from the periodic table (percentages are distributed equally by default)
- Adjust the at% values in the composition table as needed
- Click Calculate
- Click Save to export results as CSV
Batch Calculations page (range screening)
Equivalent to search range.
- Select elements from the periodic table
- Set the composition range and step size
- Click Search
- Click Save to export results as CSV
Features
-
Property calculations
- Density
- Melting Temperature
- Mixing Enthalpy [^1]
- Miedema Mixing Enthalpy [^11]
- Mixing Entropy
- Formation Enthalpy [^2]
- Valence Electron Concentration (VEC)
- Hume-Rothery Electron-to-Atom Ratio (e/a) [^17]
-
Parameters and predictions
- Expected Microstructure [^3]
- Delta Parameter (Atomic Size Difference) [^4]
- Delta Parameter (CN12-corrected Atomic Size Difference) [^4]
- Electronegativity Difference (Allen CE scale)
- Electronegativity Difference (Pauling scale) [^16]
- Omega Parameter [^5]
- Gamma Parameter [^6]
- Lambda Parameter [^7]
- Solid Solution Prediction Models
- Model 1 [^5]
- Model 2 [^8]
- Model 3 [^6]
- Model 4 [^7]
- Model 5 [^9]
- Model 6 [^2]
- Model 7 [^10]
- Model 8 [^11]
[^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]: Troparevsky, M. C.; Morris, J. R.; Kent, P. R. C.; Lupini, A. R.; Stocks, G. M.; Phys. Rev. X, 5(1) (2015) [^3]: Guo, S.; Ng, C.; Lu, J.; Liu, C.T. J. Appl. Phys. 2011, 109, 103505. [^4]: S.S.Fang, X. S. Xiao, L. Xia, W. H. Li, Y. D. Dong, J. Non-Cryst. Solids 2003, 321, 120. [^5]: Yang, X.; Zhang, Y. Mater. Chem. Phys. 2012, 132, 233–238. [^6]: Wang, Z.; Huang, Y.; Yang, Y.; Wang, J.; Liu, C.T.; Scr. Mater. 94 (2015) 28–31. [^7]: Singh, A.K.; Kumar N.; Dwivedi A.; Subramaniam A.; Intermetallics 53 (2014) 112–119. [^8]: S. Guo, Q. Hu, C. Ng, C.T. Liu, Intermetallics 41 (0) (2013) 96–103. [^9]: Y.F. Ye, Q. Wang, J. Lu, C.T. Liu, Y. Yang, Scr. Mater. 104 (2015) 53–55. [^10]: O.N. Senkov, D.B. Miracle, J. Alloys Compd. 658 (2016) 603–607. [^11]: D.J.M. King, S.C. Middleburgh, A.G. McGregor, M.B. Cortie, Acta Mater. 104 (2016) 172–179. [^16]: Haynes, W.M. CRC Handbook of Chemistry and Physics, 95th ed.; CRC Press: London, 2014. ISBN 9781482208689. [^17]: Hume-Rothery, W.; Smallman, R.E.; Haworth, C.W. The Structure of Metals and Alloys, 5th ed.; Institute of Metals: London, 1969.
License
This project is licensed under the GNU GPLv3 License. See the LICENSE file for details.
Citation
We are currently preparing a preprint for publication. If you use HEACalculator in your research, please cite the following:
Sarıtürk, D. (2019). HEACalculator. Zenodo. https://doi.org/10.5281/zenodo.3590318
BibTeX:
@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},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file heacalculator-2.0.0.tar.gz.
File metadata
- Download URL: heacalculator-2.0.0.tar.gz
- Upload date:
- Size: 650.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5930ad7b1a10d1e232be9b12602386d69d9944f15af021aad12b3dd8ba9cc964
|
|
| MD5 |
3c04557b2d0012e3b985e9a48ee73949
|
|
| BLAKE2b-256 |
344c9e571e640e61a4d9a3678d4a9316a32f95159429e9e733ca3e8f0d448be4
|
File details
Details for the file heacalculator-2.0.0-py3-none-any.whl.
File metadata
- Download URL: heacalculator-2.0.0-py3-none-any.whl
- Upload date:
- Size: 340.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
467c3a39882d085aad507c3f3c5bfb741c4506b7bc156916757247fd62ea4232
|
|
| MD5 |
502c2fc23b22039068136da39e9eb0ce
|
|
| BLAKE2b-256 |
30d4d9a71f599da39b5abed451578664e619fe83ce3516ab4d847aa44304b0a3
|