Skip to main content

A computationally efficient, fully open-source workflow for physically-informed CALPHAD model generation and parameter fitting.

Project description

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()

Project details


Download files

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

Source Distribution

phaseforgeplus-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

phaseforgeplus-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

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

Hashes for phaseforgeplus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7e9f3548b919fafec4035afbb2b573025fc45b79c440c510c76bc0df0593c617
MD5 ec929d9b01420fc9a4b717b0aac757f7
BLAKE2b-256 51263135e68f38fc2f2d44fc37acb185662587063ac2f3a83865341c8e5711bd

See more details on using hashes here.

File details

Details for the file phaseforgeplus-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for phaseforgeplus-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 298ed26e7529f10583ca514e355c8ba887d5d78140cb030e8daaef25d319c972
MD5 3da7fd06a0824435c4d4a6cd3f27d243
BLAKE2b-256 0ca6bca1f27d96bf2ae7454d2faa37c1805c04ecaf9c796e253fe793f669cb86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page