← SkillSafe / Hull Desk

Which of your computed phases are actually on the hull?

Paste computed entries - formulas with total energies. Your browser builds the phase diagram exactly as pymatgen does - formation energies, the convex hull, energy above hull, decompositions - free, nothing uploaded. A paid run then interprets the hull or writes the pymatgen script that reproduces it.

Each example has a saved model run, so you can see the whole page for free.

Drop a .json, .csv or .txt file, or

Energies are the total energy of the formula as written (so Li4O2 carries twice the energy of Li2O), as the skill's schema requires; switch the setting below if yours are per atom. Every element needs at least one elemental entry - its lowest energy per atom is the reference.

Settings

Used for a table or an entry list (the strict JSON carries its own provenance). A stated method is what lets the page and the reading call the energies compatible.

Paste entries to price the run.

Your recent runs

What this does, and what it does not

A computed phase diagram takes the total energy of every entry, measures each against its elements (the lowest energy per atom of each element is the reference) and finds the lower convex hull of formation energy over composition. Entries on the hull are computed stable; every other entry sits some distance above it and would lower its energy by breaking into the stable phases around it - its decomposition. The page follows pymatgen 2026.5.4 for every definition (PhaseDiagram, get_form_energy_per_atom, get_e_above_hull, get_decomposition) and the pymatgen agent skill's phase_diagram_generator.py for the input schema and the report, and finds the hull with its own linear program instead of Qhull. It was checked against pymatgen on Materials Project entries (up to 859 in the Li-Fe-P-O system) and hundreds of random and deliberately degenerate entry sets; the only difference found is which of two notations of the same point (FeO and Fe0.5O0.5) wins an exact energy tie, which the page flags.

A hull is conditional on the entries and the energy model: energies from different functionals or correction schemes do not belong on one hull, a missing competing phase makes its neighbours look more stable than they are, and computed stability at 0 K without entropy is not a synthesis guarantee. The paid run reads only what the browser computed and your notes; it is told never to compute a new number, and the page checks every number and formula it writes. Derived from the agent skill @k-dense-ai/pymatgen (k-dense-ai/scientific-agent-skills, K-Dense Inc.). The example entries are Materials Project computed entries as stored in pymatgen's own test files (see the notice).