Calliope.solubility
solubility
Solubility(composition)
Solubility base class.
Pressures are in bar; subclasses return dissolved concentration in ppmw (parts-per-million by weight in the silicate melt).
Source code in src/calliope/solubility.py
44 45 | |
SolubilityCH4(composition='basalt_ardia')
Bases: Solubility
CH4 solubility models
Source code in src/calliope/solubility.py
195 196 | |
basalt_ardia(p, p_total)
Ardia 2013
Source code in src/calliope/solubility.py
198 199 200 201 202 203 | |
SolubilityCO(composition='mafic_armstrong')
Bases: Solubility
CO solubility models
Source code in src/calliope/solubility.py
209 210 | |
mafic_armstrong(p, p_total)
Armstrong 2015
Source code in src/calliope/solubility.py
212 213 214 215 | |
SolubilityCO2(composition='basalt_dixon')
Bases: Solubility
CO2 solubility models
Source code in src/calliope/solubility.py
126 127 | |
basalt_dixon(p, temp)
Dixon et al. (1995)
Source code in src/calliope/solubility.py
129 130 131 132 133 | |
SolubilityH2O(composition='peridotite')
Bases: Solubility
H2O solubility models
Source code in src/calliope/solubility.py
59 60 | |
anorthite_diopside(p)
Newcombe et al. (2017)
Source code in src/calliope/solubility.py
62 63 64 | |
basalt_dixon(p)
Dixon et al. (1995) refit by Paolo Sossi
Source code in src/calliope/solubility.py
70 71 72 | |
basalt_wilson(p)
Hamilton (1964) and Wilson and Head (1981)
Source code in src/calliope/solubility.py
74 75 76 | |
lunar_glass(p)
Newcombe et al. (2017)
Source code in src/calliope/solubility.py
78 79 80 | |
peridotite(p)
Sossi et al. (2023)
Source code in src/calliope/solubility.py
66 67 68 | |
SolubilityN2(composition='libourel', x_SiO2=0.56, x_Al2O3=0.11, x_TiO2=0.01)
Bases: Solubility
N2 solubility models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
composition
|
str
|
Solubility-law name. 'libourel' selects the linear Henry's-law form of Libourel et al. (2003); 'dasgupta' selects the physical-state-dependent form of Dasgupta et al. (2022). |
'libourel'
|
x_SiO2
|
float
|
Melt mole fractions used by the Dasgupta et al. (2022) law to
compute the molecular-N2 prefactor |
0.56
|
x_Al2O3
|
float
|
Melt mole fractions used by the Dasgupta et al. (2022) law to
compute the molecular-N2 prefactor |
0.56
|
x_TiO2
|
float
|
Melt mole fractions used by the Dasgupta et al. (2022) law to
compute the molecular-N2 prefactor |
0.56
|
Source code in src/calliope/solubility.py
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | |
dasgupta(p, ptot, temp, fO2_shift)
Dasgupta et al. (2022)
Source code in src/calliope/solubility.py
176 177 178 179 180 181 182 183 184 185 186 187 188 189 | |
libourel(p)
Libourel et al. (2003)
Source code in src/calliope/solubility.py
171 172 173 174 | |
SolubilityNobleGas(gas)
Bases: Solubility
Noble gas solubility by Henry's law, Jambon et al. (1986).
Each noble gas dissolves in silicate melt in proportion to its partial
pressure, ppmw = const * p. What sets it apart from the reactive CHNOS
volatiles is the absence of any chemistry: the law carries no
melt-composition, temperature, or redox dependence, and the gas couples
to no other species through a reaction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
gas
|
str
|
Noble gas symbol; one of |
required |
Notes
The calibration is tholeiitic basalt at 1 bar and 1250-1600 C. Applying it at the high surface pressures of a noble-gas-rich atmosphere is an extrapolation of a 1-bar, linear Henry law with no saturation term.
Source code in src/calliope/solubility.py
274 275 276 277 278 279 280 281 282 | |
jambon86(p)
Jambon et al. (1986) linear Henry's law: ppmw = const * p.
Source code in src/calliope/solubility.py
284 285 286 | |
SolubilityS2(composition='gaillard', x_FeO=10.0)
Bases: Solubility
S2 solubility models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
composition
|
str
|
Solubility-law name (currently only 'gaillard' is implemented). |
'gaillard'
|
x_FeO
|
float
|
Melt FeO content [wt%] used by the Gaillard et al. (2022) law. The default value matches the Earth-mantle reference adopted in prior CALLIOPE releases; override for non-Earth bulk compositions. |
10.0
|
Source code in src/calliope/solubility.py
97 98 99 100 | |
jambon86_ppmw_per_bar(gas)
Henry's-law solubility constant for a noble gas [ppmw / bar].
Converts the Jambon et al. (1986) STP-volume Henry constant for gas
into parts-per-million by weight of dissolved gas per bar of partial
pressure, using the melt-independent chain
const [ppmw/bar] = (k_STP / V_STP) [mol/g/bar]
* M [g/mol]
* 1e6 [ppmw per mass fraction]
where k_STP is the tabulated constant in cm3 STP/g/bar, V_STP is the
molar volume of an ideal gas at STP, and M is the molar mass. The
result is the linear coefficient of the ppmw = const * p Henry law.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
gas
|
str
|
Noble gas symbol; one of |
required |
Returns:
| Type | Description |
|---|---|
float
|
Solubility constant in ppmw per bar. |
Raises:
| Type | Description |
|---|---|
KeyError
|
If |
Source code in src/calliope/solubility.py
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | |