Generated banner for Pycalphad
Generated logo for Pycalphad

Pycalphad

K-DenseCommunityCreated by K-Dense Inc.

  • Skill
  • Workflow
  • Science and research
  • MIT
  • Low risk
  • Has scripts

From the author

Computes finite-temperature CALPHAD equilibria, phase fractions, and phase compositions from thermodynamic TDB databases using pycalphad. Use for alloy phase stability, equilibrium temperature sweeps, tie lines, lever-rule checks, or reproducible phase-fraction calculations with explicit components and mole-fraction conditions.
— the description by K-Dense Inc.

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured workflow for computing finite-temperature CALPHAD equilibria, including phase fractions and compositions. It leverages the pycalphad library to process thermodynamic TDB databases, enabling users to perform equilibrium temperature sweeps, tie-line analysis, and lever-rule checks. The workflow emphasizes reproducible calculations by requiring explicit component mole fractions and pressure conditions, while providing robust numerical validation through mass-balance and sampling-density checks.

What it does

  • Computes equilibrium phase fractions and compositions at specified temperatures and pressures.
  • Validates results using mass-balance checks and sampling density refinement.
  • Exports detailed equilibrium reports including Gibbs energy and phase-specific data.
  • Supports analysis of miscibility gaps and phase stability within defined thermodynamic models.
  • Provides a standardized interface for TDB-based thermodynamic modeling.

When to use it

  • When you need to determine stable phase fractions for an alloy at specific temperatures.
  • When performing equilibrium temperature sweeps to identify phase transition points.
  • When verifying thermodynamic consistency of a TDB model through common-tangent or lever-rule checks.
  • When you require a reproducible, automated pipeline for phase-constitution analysis.

Advantages

  • Ensures reproducible results through explicit condition handling and numerical validation.
  • Integrates directly with pycalphad for reliable thermodynamic equilibrium calculations.
  • Provides comprehensive output including system Gibbs energy and phase-specific compositions.
  • Includes automated checks for mass balance and sampling stability.

Usage examples

“Calculate the equilibrium phase fractions for a Cu-Ni alloy at 1100 K using the provided TDB file.”
The agent executes the equilibrium script, returning the molar phase fractions for FCC_A1 and LIQUID phases along with their respective compositions.
“Perform a temperature sweep from 900 K to 1300 K for a specific bulk composition.”
The agent runs the calculation across the requested temperature range, generating a report with stable phase vertices and mass-balance verification for each step.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/k-dense-ai/pycalphad/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip pycalphad.zip -d .agents/skills

Documentation by K-Dense Inc.

pycalphad: TDB equilibrium calculations

When to use

Use for equilibrium phase fractions and compositions at a fixed bulk elemental mole composition, specified pressure, and a list of finite temperatures. The bundled helper executes real pycalphad equilibria, checks mass balance, repeats at greater sampling density, and exports each stable composition set separately.

Equilibrium is constrained by the selected database, components, phases, and conditions. It does not predict precipitation rates, retained metastable microstructures, or properties of phases missing from the database. Successful numerical checks do not establish the database's experimental accuracy.

Workflow

  1. Identify the TDB's source, license, assessment/publication, valid temperature/pressure and composition range, and required elements. Use the user's database for real alloys. The bundled assets/ideal-cu-ni.tdb is an original hypothetical teaching model, not an assessed Cu-Ni database.

  2. Inspect database elements and phases. Select the relevant phases deliberately; record exclusions because they can turn the calculation into a metastable constrained result. Include VA where required by sublattice models. Vacancies are not an independent bulk mole fraction. Keep coupled order/disorder definitions in the TDB, but do not select both partners as separate candidates when the ordered model already includes the disordered contribution; the helper rejects such filtered candidate lists.

  3. Copy assets/equilibrium.json. Specify exactly N-1 elemental mole fractions and one dependent non-vacancy element. The dependent fraction is 1 - sum(independent fractions); fractions are not silently normalized. Set K and Pa. Convert weight percentages or mass fractions before using this helper.

  4. Declare the database temperature interval from its assessment if known, or set database_temperature_range_k to null if unknown. This is user-supplied evidence, not a range automatically inferred from every TDB function. Requests outside a declared interval fail. Check pressure and composition validity separately.

  5. Run the calculation. Check finite Gibbs energies, phase fractions summing to one, reconstructed bulk composition, and stability to doubled pdens (phase-constitution sampling density). Near transitions, refine temperatures and sampling density further.

  6. Deliver phase fractions with their molar basis, phase compositions, database hash, conditions, excluded phases, and any numerical or assessment limitations.

Read references/model-and-validation.md for the analytic example, basis conversion, native Model/Workspace/property/plot contracts, miscibility-gap handling, and convergence limits.

Execute the tested example

From the collection root:

uv run --no-project --python 3.12 --with pycalphad==0.11.2 --with numpy==2.5.3 \
  python skills/pycalphad/scripts/equilibrate.py \
  skills/pycalphad/assets/ideal-cu-ni.tdb \
  skills/pycalphad/assets/equilibrium.json equilibrium-result

Tested on Python 3.12, pycalphad 0.11.2, and NumPy 2.5.3. Use a new output directory. All thermodynamic calculations are local; the script does not upload a TDB.

For the supplied hypothetical model at X(Ni)=0.5 and 101325 Pa:

TemperatureEquilibrium result
900 KFCC_A1 only
1100 K0.5 FCC_A1 + 0.5 LIQUID; X(Ni) approximately 0.527307 and 0.472693 respectively
1300 KLIQUID only

The suite verifies analytic common-tangent compositions, a noncentral lever-rule case, Gibbs energy, mass balance, both single-phase limits, and actual same-phase miscibility gap vertices. These validate the computational workflow, not real Cu-Ni metallurgy.

Outputs and acceptance

  • report.json: settings and versions, TDB/settings SHA-256, excluded database phases, requested, solver-imposed, and reconstructed bulk compositions, per-temperature baseline/refined results, and checks. Experimental validity is not evaluated by the helper.

  • phase-equilibria.csv: one row per stable vertex per temperature and sampling run, including phase name, molar phase fraction, and elemental mole fractions. Its Gibbs energy column is the whole-system molar Gibbs energy, repeated for each vertex; it is not the individual phase energy.

Unused pycalphad vertices have blank names and NaN values; those are omitted. Named vertices with invalid values cause failure. Multiple vertices with the same phase name are retained because a miscibility gap can contain two composition sets of one phase. Vertex indices do not track the same physical phase continuously across temperatures.

In stable 0.11.2, pycalphad clips independent mole fractions to [1e-10, 1-1e-10]. Each result records solver_bulk_mole_fractions and the largest absolute difference from the requested bulk in composition_condition_adjustment_absolute_error. Mass-balance checks still compare against the requested composition; a tighter tolerance can therefore fail at an endpoint. Do not claim exact pure-component or ultratrace results from a clipped multicomponent calculation.

all_checks_passed requires each run's phase-sum and bulk-composition residuals within mass_balance_tolerance, phase totals stable within phase_fraction_tolerance, and system Gibbs energy stable within gibbs_energy_tolerance_j_per_mol when pdens doubles. This comparison does not certify the global minimum or track individual composition-set movement within a same-phase miscibility gap; inspect their exported compositions too. Failed checks remain visible in the report rather than being relabeled as convergence.

Boundaries and upstream contracts

The helper handles elemental mole fractions, one composition, one pressure, and up to 1000 explicit positive temperatures. It validates selected phases through pycalphad's phase-compatibility rules; incompatible or automatically filtered order/disorder phase sets produce an explicit error. It does not silently remove requested phases.

Charged-species constraints, externally imposed chemical potentials, custom models, activity reference-state changes, and database optimization require additional modeling and are outside this helper's tested scope. Do not extrapolate the pedagogical asset to real material selection or heat-treatment decisions.

Upstream latest documentation currently describes 0.11.3 development builds. The bundled helper and the reference's native examples were exercised against stable 0.11.2 on 2026-10-01; the release's source was checked against the installed wheel. No remote thermodynamic calculation or database-fetch API is used. Database loads a local path, file-like object, or TDB text; a URL is not a supported download shortcut.

Files

ATTRIBUTION.md

Attribution

This folder is an unmodified copy of the Agent Skill "pycalphad", distributed by AutoGineer (https://autogineer.com/agent-skills).

The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.

Files added by AutoGineer

  • ATTRIBUTION.md: this file, written by AutoGineer

  • LICENSE: copied from LICENSE.md

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

The author says: Requires Python 3.12+, pycalphad 0.11.2, and NumPy. Installation needs network access; calculations run locally without credentials. Real-material predictions require a suitable licensed thermodynamic database.

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
K-Dense Inc.
Publisher
K-Dense (Community)
Source
K-Dense-AI/scientific-agent-skills · skills/pycalphad · commit a25cf9e
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE.md)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by K-Dense Inc. or K-Dense.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download pycalphad.zip