Skip to main content

PhaseForge+

Python Platforms Test

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.

Report a Bug | Request a Feature


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)

Source distribution for phaseforgeplus 0.1.0
File Size Uploaded
phaseforgeplus-0.1.0.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for phaseforgeplus 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release 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