We build open-source tools for computing thermodynamic equilibrium in petrological and geodynamic systems, centered on MAGEMin, a Gibbs energy minimization solver for mineral assemblages.
Given a bulk-rock composition and a pressure/temperature condition, MAGEMin computes the thermodynamically most stable mineral assemblage, along with derived properties such as melt fraction, density and seismic velocities. It combines linear programming, the extended Partitioning Gibbs free Energy approach and gradient-based local minimization in a parallel C library, which makes it well suited to modern multicore processors.
| Repository | Description |
|---|---|
| MAGEMin | The Gibbs energy minimization engine — parallel C library and command-line tool |
| MAGEMin_C.jl | Julia interface for single-point and grid minimization, serial or parallel |
| MAGEMinApp.jl | Web-browser app (built with Dash.jl) for P–T, T–X, P–X, PT–X, T–T and μ–μ phase diagrams, and fractional melting/crystallization paths |
Mantle (Holland et al., 2013; Stixrude & Lithgow-Bertelloni, 2011/2021/2024), Metapelite (White et al., 2014), Metabasite (Green et al., 2016), Igneous (Holland et al., 2018 → Green et al., 2025; Weller et al., 2024), Ultramafic (Evans & Frost, 2021) and HP/LT (Pourteau et al., 2014), along with dry/extended variants of several of these.
julia> ]
pkg> add MAGEMinAppjulia -t 6
julia> using MAGEMinApp
julia> App()Full installation and usage instructions: computationalthermodynamics.github.io/MAGEMin_C.jl/dev