Skip to content
Data
Skill

/pycalphad

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

BOOST
From plugin
k-dense-ai-scientific-agent-skills-2
47k181 skills
Install
$ npx -y skills add K-Dense-AI/scientific-agent-skills --skill pycalphad --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pycalphad

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

pycalphad.SKILL.md
name: pycalphad
description: 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.
license: MIT
compatibility: 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.
metadata:
  version: "1.1"
  skill-author: K-Dense Inc.
  tested-package-version: "0.11.2"
  last-reviewed: "2026-10-01"

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](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](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](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:

| Temperature | Equilibrium result | | --- | --- | | 900 K | FCC_A1 only | | 1100 K | 0.5 FCC_A1 + 0.5 LIQUID; X(Ni) approximately 0.527307 and 0.472693 respectively | | 1300 K | LIQUID 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_pa

Read more
Ships withk-dense-ai-scientific-agent-skills-2

🔔 Claude Scientific Skills is now Scientific Agent Skills. Same skills, broader compatibility — now works with any AI agent that supports the open Agent Skills standard, not just Claude.

Get the whole plugin
Stats
46,730
Stars
4,226
Forks
Active
Maintenance
Python
Language
MIT
License
10d ago
Last commit
11mo ago
Created

Repo: K-Dense-AI/scientific-agent-skills