proteus.config._struct¶
The attrs-based schema for the [interior_struct] and [interior_struct.zalmoxis] TOML blocks.
All knobs documented in the Zalmoxis coupling how-to map back to fields on the classes below.
Struct
¶
Planetary structure (mass, radius).
Attributes:
| Name | Type | Description |
|---|---|---|
core_frac |
float
|
Fraction of the planet's interior radius corresponding to the core. |
module |
str
|
Module for solving the planet's interior structure. Choices: 'dummy', 'spider', 'zalmoxis'. |
zalmoxis |
Zalmoxis or None
|
Zalmoxis parameters if module is 'zalmoxis'. |
core_frac_mode |
str
|
How core_frac is interpreted. 'radius': fraction of planet radius. 'mass': fraction of total planet mass. Only 'radius' is supported when module = 'spider'. The zalmoxis module always interprets core_frac as a mass fraction and ignores this flag (a warning is emitted at runtime if 'radius' is set with module = 'zalmoxis'). |
core_density |
float or str
|
Density of the planet's core [kg m-3]. Set to 'self' for self-consistent calculation by Zalmoxis (requires module = 'zalmoxis'). |
core_heatcap |
float or str
|
Specific heat capacity of the planet's core [J kg-1 K-1]. Set to 'self' for self-consistent calculation by Zalmoxis (requires module = 'zalmoxis'). |
Zalmoxis
¶
Parameters for Zalmoxis module.
Attributes:
| Name | Type | Description |
|---|---|---|
core_eos |
str
|
EOS for the core layer. Format: " |
mantle_eos |
str
|
EOS for the mantle layer. Format: " |
ice_layer_eos |
str or None
|
EOS for the ice/water layer (3-layer model). 'none' for 2-layer model (core + mantle only). Tabulated: "PALEOS:H2O", "Seager2007:H2O". Analytic: "Analytic:H2O". |
mushy_zone_factor |
float
|
Cryoscopic depression factor controlling the width of the mushy zone (partially molten region) in the PALEOS unified EOS. Defines the solidus as T_sol = T_liq * mushy_zone_factor. 1.0 = sharp phase boundary (no mushy zone). 0.8 = solidus at 80% of the liquidus temperature, roughly matching the Stixrude+2014 cryoscopic depression for MgSiO3. Must be in [0.7, 1.0]. Only applies to PALEOS unified EOS; ignored for WolfBower2018 and RTPress100TPa (which use explicit melting curve files). This factor is applied consistently across Zalmoxis (density interpolation), SPIDER (phase boundaries), and the VolatileProfile phi-blending. |
mantle_mass_fraction |
float
|
Fraction of the planet's interior mass corresponding to the mantle. Required for 3-layer models (with ice layer) and for T-dependent 2-layer models (WolfBower2018, RTPress100TPa) where it partitions mass between core and mantle layers. |
num_levels |
int
|
Number of Zalmoxis radius layers. |
solver_tol_outer |
float
|
Relative tolerance for mass convergence (outer loop). |
solver_tol_inner |
float
|
Relative tolerance for density convergence (inner loop). |
solver_max_iter_outer |
int
|
Max iterations for mass convergence (outer loop). |
solver_max_iter_inner |
int
|
Max iterations for density convergence (inner loop). |
lookup_nP |
int
|
Number of pressure points in SPIDER P-S tables generated from PALEOS. |
lookup_nS |
int
|
Number of entropy points in SPIDER P-S tables generated from PALEOS. |