GibbScope

Open the system picker

Phase Diagram

298 K
1000
3000 K
Phases
Invariant reactions
Diagnostics
—
Your databasedrop a .tdb to use your own
⊕
Drop a .tdb file
or
Compare withthe ghost is this database, unperturbed
or drop a .tdb file
Experimental data
⊕
Drop experimental data
.csv, .json or .pop — or

Pick a binary system

Click an element, then a second one, to load that binary system.

Reading the corpus index…

    About this tool

    GibbScope Application

    GibbScope computes a binary phase diagram from a thermodynamic (.tdb) database and redraws it as the assessed parameters are changed. It also overlays experimental data on the diagram and fits the parameters to these data. The engine is written in Rust and compiled to WebAssembly, so every calculation runs and stays in the browser.

    A database can be loaded from Example system, from a file on disk (Drop a .tdb file or browse), or by choosing a pair of elements in the Systems tab, which lists every assessment of that pair in the SGTE collection of binary datasets.

    Figures

    GibbScope plots the phase diagram and, when Gibbs energy curves is on, the Gibbs energy curves at a selected temperature below it, on a shared composition axis. The features of the two plots are as follows.

    • Isotherm. The horizontal lime line marks the temperature at which the energy curves are drawn, and its markers are the common-tangent compositions at that temperature. It moves with the at T slider, by clicking or dragging on the diagram, and with the arrow keys.
    • Crosshair. The readout gives x and T under the pointer, the tie line through that point, and the phase amounts from the lever rule (in moles). When the pointer is in the same phase field as the isotherm at that composition, the lower panel highlights the matching tangent or curve.
    • Invariant reactions are solid horizontal lines through the coexisting compositions. The table beside the figure lists the type, temperature, and phases of each reaction.
    • Line styles. The crosshair, the top of the assessed range, and the tangents are dashed, whereas boundary curves, invariant lines, and the isotherm are solid. Once a parameter is changed, the original diagram is drawn underneath in gray.
    • Hatching covers temperatures above the range for which the database declares its functions, where the diagram is an extrapolation. When a solid remains stable above that range, a button on the plot extends the axis to include it.
    • Fills. Two-phase fields have muted fills. Labels writes the phase names into the fields, and Raster turns the fills on and off; with the fills off, an exported SVG is fully vector.
    • Caption. The caption in the corner names the database and any phases that are missing or drawn with physics dropped. It is part of the figure and is therefore included in exports.
    • Zoom and pan. Scrolling zooms and dragging pans; double-clicking or pressing Reset view fits the axes again. Light figure draws the figure on a white background for publication.

    Changing Parameters and Fitting

    R-K Parameters has one slider for the A coefficient (in J/mol) of each Redlich–Kister term and one for the Gibbs energy (in J per formula unit) of each line compound. Each slider shows the change from the assessed value, so 0 corresponds to the published database, and Reset returns all sliders to 0. An interaction slider spans ±25 % of the assessed coefficient (at least ±5000 J/mol), and a compound slider spans ±10 000 J. An exact value can be typed into the box beside a slider. The diagram is recomputed in the background, typically within a second, so the page stays responsive while a slider is dragged.

    Compare with draws another assessment of the same system in gray beneath the current one, in place of the original diagram. The comparison can be a database from the collection or a dropped .tdb file, and a database that lists the same elements in the opposite order is mirrored. Loading a comparison closes the energy panel.

    Drop experimental data loads measured points from a file in the format described below. The points are drawn with error bars, and Misfit reports the weighted RMS distance between the points and the diagram, in units of each point's uncertainty. Color: Source switches the coloring of the points between their source and their residual, which shows the direction in which each point pulls the model. Points hides the markers without changing the misfit, whereas unticking a source in the data list removes it from both the misfit and the fit.

    Experimental data loaded for one system stays with that system. When another database is loaded for the same pair, the data is kept; for the same pair in the opposite order, it is mirrored; and for a different pair, it is set aside, neither drawn nor scored, until Remove or Keep is chosen.

    To fit, tick fit beside each parameter to be freed and press Fit unlocked parameters. A Nelder–Mead search then minimizes the misfit over these parameters, starting from the current slider values and staying within the slider ranges. The misfit covers the entire temperature range regardless of the zoom. The result can be reviewed and then kept with Accept or discarded with Revert.

    Experimental Data File

    GibbScope reads experimental data from .csv, .tsv, or .json files with a header row and one row per measurement. Columns can appear in any order, and only x and T are required. Comma, tab, and semicolon delimiters are detected, and lines starting with # or $ are comments. A row that cannot be read is reported with its row number and the reason, while the rest of the file still loads.

    ColumnMeaning
    x (required)Mole fraction of the second element the database names, e.g., Cu in an Ag–Cu file. A header of x (at%) or x (wt%) converts the values on import; wt% needs the database loaded first, for the atomic masses. A header of x(Ag) names the element: values for the first element are mirrored onto the second, and an element not in the database is refused. Also accepted: composition, x_B, mole_fraction.
    T (required)Temperature in kelvin, or in Celsius with the header T (C) or T_C. Also accepted: temp, temperature.
    kindThe type of measurement: boundary (default), tie_left, tie_right, invariant, or single_phase. liquidus, solidus, and solvus are read as boundary, and each reaction name in the table below (eutectic, monotectic, metatectic, monotectoid, eutectoid, syntectic, peritectic, peritectoid, polymorphic, allotropic, other) as invariant. The kind sets the marker shape and the misfit row. An invariant point is measured to the composition of the nearest participating phase at the reaction temperature, not to the reaction line, so a thermal arrest recorded at the overall composition of an alloy appears off in x even when its temperature matches.
    x_errUncertainty in composition, in the unit of the x column (e.g., 0.5 under x (at%) is 0.005). It is drawn as an error bar and scales the misfit. Default 0.01. Also accepted: dx, sigma_x.
    T_errUncertainty in temperature. Default 10 K. Also accepted: dT, sigma_T.
    phaseThe phase to which the point belongs, e.g., FCC_A1. The point is then scored against that phase only.
    weightRelative weight in the misfit. Default 1.
    sourceDataset label, used for colors and for showing or hiding points, so that one file can hold several studies. Default: the file name.
    # Ag-Cu, digitized from Smith 1985
    x,T,kind,x_err,T_err,phase,source
    0.399,1052.2,invariant,0.005,1.0,LIQUID,Smith 1985
    0.141,1052.2,tie_left,0.006,1.0,FCC_A1,Smith 1985
    0.950,1052.2,tie_right,0.006,1.0,FCC_A1,Smith 1985

    A JSON file holds the same records, either as an array or as {"points": […]}.

    Thermo-Calc .pop

    GibbScope reads a PARROT .pop file directly. Load the database first: the element names and phase abbreviations in the file are matched against it, so X(FCC,CR) becomes x(Ni) on a Cr–Ni axis and LIQ becomes LIQUID. Rows of TABLE-HEAD blocks that give one composition and one temperature become points, with the :σ value as the error bar and the SET-WEIGHT lines providing the weights and, through their trailing comments, the sources.

    Everything else is refused with a reason and line numbers. In a typical PARROT file, this is most of the file, since enthalpies (HMR), activities (ACR), and chemical potentials are not points on a phase diagram.

    ESPEI ZPF datasets

    ESPEI datasets with output ZPF are also read directly, again with the database loaded first. In each values row, a single measured composition is a boundary point, and two measured compositions are the ends of a tie line; a null marks a phase that was present but not measured. The dataset's reference becomes the source and its weight the weight. Since ZPF datasets carry no uncertainties, the defaults (0.01 and 10 K) apply. Other outputs, such as HM_FORM and HM_MIX, are refused, as is a dataset marked disabled, and a phase name that is not in the database is reported.

    Thermo-Calc .EXP (DATAPLOT) is not read and has to be converted to the columns above.

    Exporting and Sharing

    • Figure (PNG) and Figure (SVG) save the figure as shown on screen, including the caption.
    • Data (CSV) saves the boundary curves, and Data (JSON) also saves the invariant reactions, the phase changes that the engine could not classify, and the provenance. Both use mole fraction and kelvin, whatever units the axes show.
    • Download .tdb saves the database with the changed parameters; all other parameters are copied byte for byte.
    • Save session and Load session store and restore the parameters, the set of unlocked parameters, the view, the temperature, and the experimental data. A session does not include the database, so the database has to be loaded before the session.
    • Cite gives the citations for GibbScope and its paper. The databases and experimental data that GibbScope uses are credited in Acknowledgments below.

    The address bar records the current view, so a copied link reproduces it. Experimental data is not part of the link; a session file stores it.

    Keyboard Shortcuts

    After clicking a plot or moving to it with Tab, the following keys are available.

    KeyAction
    ↑ ↓move the isotherm one slider step (energy panel open)
    Page Up / Page Downmove it ten steps
    ← →move the crosshair along the isotherm by 1 % of the visible range
    Home / Endmove the crosshair to the edge of the window
    Shift + arrowpan
    + / −zoom about the crosshair, or the center of the window
    0reset the view
    Escapeclear the crosshair

    With the energy panel closed, the temperature cannot be changed: the slider and the isotherm are hidden, and ↑ / ↓ scroll the page.

    Thermodynamic Model

    Each solution phase φ is a substitutional solution of the two elements, described by SGTE unary reference energies, a Redlich–Kister excess term, and the Inden–Hillert–Jarl magnetic term:

    Gφ(x,T) = xA °GAφ + xB °GBφ + RT(xAln xA + xBln xB) + xAxB Σν Lνφ(xA−xB)ν + Gmagφ(x,T)

    A and B are the two elements in alphabetical order, regardless of the order in which a parameter is written. This order sets the sign of the odd-order terms and follows the convention of pycalphad and Thermo-Calc. A line compound has a fixed composition and a single Gibbs energy per formula unit.

    At each temperature, GibbScope constructs the lower convex hull of the G(x) curves of all phases, each solution phase sampled at 1001 compositions and refined around common tangents. It scans the temperature range in 200 equal steps and, wherever the set of stable phases changes within a step, bisects the step to 0.5 K and reports an invariant reaction. The temperature axis extends from the bottom of the database's declared range to just above the highest temperature at which a solid is stable within that range.

    A reaction is named after the phase that disappears or forms on cooling and the two phases on either side of it. L stands for any phase that the database calls a liquid, and a subscript marks one phase at two compositions. A reaction is tagged extrapolated when one of its phases is beyond the temperature range declared for it in the database.

    NameOn cooling
    eutecticL → α + β
    monotecticL1 → α + L2
    metatecticβ → α + L
    monotectoidα1 → α2 + β
    eutectoidγ → α + β
    syntecticL1 + L2 → α
    peritecticL + α → β
    peritectoidα + β → γ
    polymorphica compound changes its structure at a fixed composition, between two neighboring phases
    allotropican element changes its structure at the edge of the axis, and neither form dissolves more of the other element than the other form does. Otherwise, the reaction takes one of the names above; e.g., in Ga–Pu, the β → α transformation of plutonium is a peritectoid because only α dissolves gallium
    othernone of the above, such as a liquid forming on cooling. Such a reaction is often, but not always, an extrapolation, so its tag is worth checking

    Phase Grades

    GibbScope grades every phase declared in a database, and a database takes the grade of its worst phase. The grade appears in the figure caption, in the fidelity panel, and in the Systems table.

    • Modeled in full: every term given in the database is evaluated.
    • Physics dropped: the phase is drawn without a term given in the database. Since the diagram still looks complete, this grade deserves the most attention.
    • Phase missing: the phase is left off the diagram and so its field is absent.

    A phase is drawn with physics dropped for one of the following reasons.

    ReasonWhat is missing
    associate speciesa compound species, such as an associate. The phase is computed as a plain substitutional solution without it
    unreadable termspart of the phase's energy, given in a form that the parser does not implement or as a call to a function that the database does not define
    parameter typea PARAMETER type that the engine does not implement. At present, this is the third-generation Einstein heat capacity (THETA, LNTHETAn, THETAFn, GD), which carries most of the phase's temperature dependence
    magnetic setupmagnetic data that cannot be evaluated: a Curie temperature without a MAGNETIC type definition, a third-generation Néel model, or a parameter given twice

    A phase is left off the diagram for one of the following reasons.

    ReasonWhy
    gasthe engine does not model a gas phase
    multiple sublatticesthe phase requires the compound energy formalism. This includes ordered phases such as B2_BCC and L12_FCC, and the ionic liquid
    interstitial sublatticethe phase mixes an element with vacancies on a separate sublattice, which two mole fractions cannot describe
    non-element speciesthe constituents of the phase are not the two elements, so its composition is not a mole fraction of them
    no end membersthe database does not give the Gibbs energy of the phase at both pure elements

    Phases that the database excludes with REJECT_PHASE are listed separately. A term that the engine cannot evaluate is always reported and never treated as zero.

    Accuracy and Limitations

    The known limitations are as follows.

    • Binary substitutional models only. GibbScope does not implement the compound energy formalism or order–disorder models, the ionic liquid, or the gas phase, and phases that need them are left off the diagram. Associate species and third-generation parameters are left out, and the phases that have them are drawn with physics dropped.
    • Narrow miscibility gaps. A gap narrower than 0.004 in x is drawn as one phase. A gap that closes gradually is therefore cut below its true top, and its critical point is drawn at the cut and marked “narrowed below” in Data (JSON).
    • Thin fields. A phase field narrower in temperature than one sweep step can be missed. Tie line ends are accurate to about 6×10−7 in x, and a solubility below about 10−8 reads as 0.
    • Many fields of one phase. The fourth and later fields of the same phase share one shade and the bare phase name, so a gap between two of them can look like a gap within a single field.
    • Unnamed changes. When two reactions fall within one temperature bracket, the engine cannot name them and lists the change as a warning. This is rare.
    • Fitting is geometric. The misfit is a distance in units of each point's uncertainty, and tie_left and tie_right points are scored in the same way as boundary points. GibbScope offers neither a driving-force (ZPF) objective nor uncertainty estimates for the fitted parameters; a full assessment calls for PARROT or ESPEI.

    Acknowledgments

    SGTE binary databases

    Each file begins with a $ comment block that gives the reference for the assessment and often the assessor's notes on it, such as “the hcp interaction could be problematic”. GibbScope shows these lines in the Database section of the interface.

    Experimental data

    The experimental data loaded with four of the preloaded examples are from the following sources.

    The header of each data file lists the tables the points were taken from and the points that were left out.

    License

    Application code © 2026 Arizona Board of Regents on behalf of the University of Arizona. Licensed for non-commercial educational and research use only; commercial use requires a license from the University — inquiries to Tech Launch Arizona. This is a summary; see the full LICENSE in the repository.

    The WebAssembly module contains open-source Rust libraries under permissive licenses, mostly MIT and Apache 2.0. Their notices are in LICENSES.md.

    Loading...