A computationally efficient, fully open-source workflow for physically-informed CALPHAD model generation and parameter fitting.
Project description
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()
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 phaseforgeplus-0.1.0.tar.gz.
File metadata
- Download URL: phaseforgeplus-0.1.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e9f3548b919fafec4035afbb2b573025fc45b79c440c510c76bc0df0593c617
|
|
| MD5 |
ec929d9b01420fc9a4b717b0aac757f7
|
|
| BLAKE2b-256 |
51263135e68f38fc2f2d44fc37acb185662587063ac2f3a83865341c8e5711bd
|
File details
Details for the file phaseforgeplus-0.1.0-py3-none-any.whl.
File metadata
- Download URL: phaseforgeplus-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
298ed26e7529f10583ca514e355c8ba887d5d78140cb030e8daaef25d319c972
|
|
| MD5 |
3da7fd06a0824435c4d4a6cd3f27d243
|
|
| BLAKE2b-256 |
0ca6bca1f27d96bf2ae7454d2faa37c1805c04ecaf9c796e253fe793f669cb86
|