PhaseForge+
PhaseForgePlus is a Python-based, fully open-source workflow for generating and tuning physically-informed CALPHAD models. It integrates Machine-Learned Interatomic Potentials (MLIPs), the Alloy Theoretic Automated Toolkit (ATAT), and experimental data to efficiently produce accurate phase diagrams.
Features
- Automatic construction of CALPHAD models from MLIP-based thermodynamic data
- Integration with ATAT and PyCalphad for Gibbs energy and phase diagram calculations
- Efficient parameter fitting using the Jansson derivative method with gradient-based optimization
- Support for physically-grounded adjustments using experimental phase equilibria
- Compatibility with ESPEI and PyCalphad toolchain for advanced thermodynamic modeling
Relationship to PhaseForge
PhaseForgePlus builds upon the foundation of PhaseForge, extending its capabilities for advanced CALPHAD model optimization. While PhaseForge enables users to automatically generate initial thermodynamic database (TDB) files from MLIPs, PhaseForgePlus takes the workflow a step further by providing robust tools for parameter fitting, integration with experimental data, and gradient-based optimization.
You can use PhaseForge to create an initial .tdb file, which serves as the starting point for further optimization in PhaseForgePlus.
By combining PhaseForge and PhaseForgePlus, you can seamlessly transition from automated TDB generation to advanced model optimization in a single, reproducible workflow.
Installation
You can install PhaseForgePlus via pip (once available on PyPI):
pip install phaseforgeplus
Or clone the repository directly:
pip install git+https://github.com/dogusariturk/PhaseForgePlus.git
Quick Start
Here's a minimal example of optimizing a CALPHAD model using PhaseForgePlus:
from phaseforgeplus import PhaseForgePlus
pfp = PhaseForgePlus(
db="./data/pt-w.tdb", # Path to your thermodynamic database
zpf_path="./data", # Path to Zero Phase Fraction (ZPF) data
points=[1801, 1601, 1401, 1201, 1001, 802, 602, 402, 202], # Points for optimization
pressure=101325, # Pressure in Pa
temperature=298.15, # Temperature in K
)
pfp.optimize()
Metadata
Release files for phaseforgeplus 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| phaseforgeplus-0.1.0.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| phaseforgeplus-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.1 kB
Release files / phaseforgeplus-0.1.0.tar.gz
| Download URL | phaseforgeplus-0.1.0.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e9f3548b919fafec4035afbb2b573025fc45b79c440c510c76bc0df0593c617
|
|
BLAKE2b-256 checksum How to use checksums |
51263135e68f38fc2f2d44fc37acb185662587063ac2f3a83865341c8e5711bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.7
|
Release files / phaseforgeplus-0.1.0-py3-none-any.whl
| Download URL | phaseforgeplus-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
298ed26e7529f10583ca514e355c8ba887d5d78140cb030e8daaef25d319c972
|
|
BLAKE2b-256 checksum How to use checksums |
0ca6bca1f27d96bf2ae7454d2faa37c1805c04ecaf9c796e253fe793f669cb86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.7
|