API overview
This is the auto-generated API reference for Aragog's public interface. For the underlying physics, see the model overview; for the package layout in detail, see code architecture.
Module overview
src/aragog/
├── config/ # Configuration: attrs sub-classes + Config facade
├── eos/ # EntropyEOS, EntropyPhaseEvaluator
├── solver/ # EntropySolver, EntropyState, BoundaryConditions, SolverOutput
├── mesh/ # Mesh, FixedMesh, AdamsWilliamsonEOS, UserDefinedEOS
├── jax/ # Optional JAX-traceable replicas (analytic-Jacobian path)
├── output/ # Diagnostic helpers (rheological_front, total_enthalpy, volume_average)
├── rheology.py # Solid-state Arrhenius creep, Byerlee yield stress, and MLT slope factor
├── rheology_lid.py # Stagnant-lid diagnostics and minimum yield viscosity closure
├── parser.py # Parameters dataclass and INI parser
├── cli.py # Click CLI (run, inspect, validate, show-config, new, list-configs, vnv)
└── utilities.py # Utility functions and type aliases
The legacy single/mixed/composite phase evaluator stack and the temperature-based Output class have been replaced by the entropy-formulation modules; the public path goes through EntropySolver and SolverOutput.
API reference
Configuration
aragog.config—Configfacade with.from_toml,.from_dict, and.from_fileconstructors that all return aParametersdataclass.
Solver
aragog.solver—EntropySolver(the public solver class),EntropyState,BoundaryConditions,SolverOutput. IncludesEntropySolver.from_file,initialize,set_initial_entropy,set_initial_dSdr_cmb,set_initial_core_temperature,solve,get_state,reset,set_jax_cvode_factory, and the retry-ladder hooks.
EOS
aragog.eos—EntropyEOS(P-S table loader and bilinear interpolator) andEntropyPhaseEvaluator(SPIDER-parity phase blending, viscosity transition, gravitational-separation velocity, pressure-dependent latent heat).
Mesh
aragog.mesh—Mesh(staggered FV mesh with optional mass-coordinate transform),FixedMesh,AdamsWilliamsonEOS,UserDefinedEOS(external four-column mesh file).
Output
aragog.output— Standalone diagnostic helpers (rheological_front,total_enthalpy,volume_average). The primary output channel isSolverOutput, returned byEntropySolver.get_state(), which already exposes the global mantle melt fraction (Phi_globalmass-weighted,Phi_global_volvolume-weighted); see the solver page for its field-by-field description.
JAX backend
aragog.jax— JAX-traceable replicas of the EOS, phase evaluator, and dSdt RHS, used to build analytic Jacobians viajax.jacrev. Only loaded whensolver.use_jax_jacobian = true. See the CVODE+JAX explanation for when to opt in.
Solid-state rheology
aragog.rheologyandaragog.rheology_lid: homologous-temperature Arrhenius diffusion creep, Byerlee yield stress, viscosity-contrast mixing-length slope, stagnant-lid diagnostics, and the minimum plastic yield viscosity closure. See Solid-state convection and lithospheric rheology for the physical background.
What is not in the public API
The following modules are implementation details. They are reachable but should be treated as private:
aragog.solver.entropy_solver._dSdt_single,_solve_cvode,_build_jac_sparsity(internal RHS and integrator dispatch).aragog.solver.cvode_jax(CVODE callback factory used by the JAX path).aragog.parser._BoundaryConditionsParameters,_EnergyParameters, etc. (the underscore-prefixed dataclasses are reached throughParameters, not directly).