Skip to content

API overview

This is a detailed overview of Zalmoxis' API for the user's reference. If you want to understand the underlying model, please visit the model overview.

Module overview

src/zalmoxis/
├── zalmoxis.py          # Orchestration: config loading, iteration loops, Brent solver, output
├── structure_model.py   # ODE system: coupled_odes(), solve_structure(), terminal events
├── eos_functions.py     # EOS dispatch: calculate_density(), Tdep phase logic, temperature profiles
├── eos_analytic.py      # Analytic modified polytrope: get_analytic_density()
├── eos_properties.py    # Material property dictionaries (file paths, unit conversions)
├── melting_curves.py    # Solidus/liquidus curves (Monteux+2016, Stixrude 2014, PALEOS, tabulated)
├── mixing.py            # Multi-material mixing (harmonic mean, sigmoid suppression)
├── binodal.py           # H2-silicate and H2-H2O miscibility models (Rogers+2025, Gupta+2025)
├── constants.py         # Physical constants (G, earth_mass, earth_radius, etc.)
└── plots/               # Visualization (profile plots, P-T phase diagrams)

API reference

Core

EOS

Mixing

Constants