Skip to content

Calliope.chemistry

chemistry

ModifiedKeq(Keq_model, fO2_model='oneill')

Modified equilibrium constant (includes fO2)

Source code in src/calliope/chemistry.py
14
15
16
def __init__(self, Keq_model, fO2_model='oneill'):
    self.fO2 = OxygenFugacity(fO2_model)
    self.callmodel = getattr(self, Keq_model)

janaf_CO(T)

JANAF log10Keq for CO2 = CO + 0.5 fO2 (CALLIOPE use range 1500-3000 K)

Source code in src/calliope/chemistry.py
37
38
39
def janaf_CO(self, T):
    """JANAF log10Keq for CO2 = CO + 0.5 fO2 (CALLIOPE use range 1500-3000 K)"""
    return (-14467.511400133637 / T + 4.348135473316284, 0.5)

janaf_H2(T)

JANAF log10Keq for H2O = H2 + 0.5 fO2 (CALLIOPE use range 1500-3000 K)

Source code in src/calliope/chemistry.py
41
42
43
def janaf_H2(self, T):
    """JANAF log10Keq for H2O = H2 + 0.5 fO2 (CALLIOPE use range 1500-3000 K)"""
    return (-13152.477779978302 / T + 3.038586383273608, 0.5)

schaefer_C(T)

Schaefer log10Keq for CO2 = CO + 0.5 fO2

Source code in src/calliope/chemistry.py
29
30
31
def schaefer_C(self, T):
    """Schaefer log10Keq for CO2 = CO + 0.5 fO2"""
    return (-14787 / T + 4.5472, 0.5)

schaefer_CH4(T)

Schaefer log10Keq for CO2 + 2H2 = CH4 + fO2

Source code in src/calliope/chemistry.py
24
25
26
27
def schaefer_CH4(self, T):
    """Schaefer log10Keq for CO2 + 2H2 = CH4 + fO2"""
    # second argument returns stoichiometry of O2
    return (-16276 / T - 5.4738, 1)

schaefer_H(T)

Schaefer log10Keq for H2O = H2 + 0.5 fO2

Source code in src/calliope/chemistry.py
33
34
35
def schaefer_H(self, T):
    """Schaefer log10Keq for H2O = H2 + 0.5 fO2"""
    return (-12794 / T + 2.7768, 0.5)