proteus.outgas.binodal¶
The bulk H2 split between atmosphere and melt from the H2-MgSiO3 binodal. The config loader rejects outgas.h2_binodal = true.
For how this part works, see Outgassing, rock vapour and volatile trapping.
binodal
¶
Binodal-controlled H2 partitioning between atmosphere and magma ocean.
Wraps the Rogers+2025 H2-MgSiO3 miscibility model from Zalmoxis to redistribute H2 between the atmosphere and the dissolved (liquid mantle) reservoir after CALLIOPE's equilibrium chemistry solve.
Physics
When T_magma > T_binodal(P_surf, x_H2): H2 is miscible with MgSiO3 melt. The dissolved H2 mass fraction is controlled by thermodynamic miscibility at the mass mixing ratio (not Henry's law):
sigma = rogers2025_suppression_weight(P_surf, T_magma, w_H2, w_sil)
H2_kg_liquid = sigma * H2_kg_total
H2_kg_atm = (1 - sigma) * H2_kg_total
When immiscible (sigma ~ 0): all H2 stays in the atmosphere.
apply_binodal_h2(hf_row, config)
¶
Apply Rogers+2025 binodal to partition H2 between atm and mantle.
Modifies hf_row in place: redistributes H2_kg_atm, H2_kg_liquid,
and updates H2_bar and H2_vmr accordingly. Reads T_magma [K],
P_surf [bar], M_mantle [kg], R_int [m] and gravity
[m s-2] from the row, and skips the step when T_magma, M_mantle,
R_int or gravity is not positive.
Does nothing if H2 is not included or has zero total mass. It does not
read outgas.h2_binodal: the outgassing wrapper calls it only when that
flag is true.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hf_row
|
dict
|
Current helpfile row with volatile mass and state keys. |
required |
config
|
Config
|
PROTEUS configuration object. |
required |
Source code in src/proteus/outgas/binodal.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | |