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)