Source code for defermi.chempots.tests.test_oxygen
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 3 10:15:10 2025
@author: lorenzo
"""
import numpy as np
from defermi.chempots.reservoirs import PressureReservoirs
from defermi.chempots.oxygen import (
get_barycenter_chemical_potentials_absolute,
get_barycenter_chemical_potentials_relative,
get_oxygen_chempot_from_pO2,
get_oxygen_chempot_standard_finite_temperature,
get_oxygen_pressure_reservoirs,
get_pressure_reservoirs_from_phase_diagram
)
from defermi.chempots.core import Chempots
from defermi.testing.chempots import ReservoirsTest
from defermi.chempots.tests.test_chempots import TestChempots
[docs]
def test_chempot_from_pO2():
actual = get_oxygen_chempot_from_pO2(temperature=1300,partial_pressure=0.2)
desired = -1.516694354091398
np.testing.assert_allclose(actual, desired, atol=1e-04)
muO_reference = -5
actual = get_oxygen_chempot_from_pO2(temperature=1300,partial_pressure=0.2,muO_reference=muO_reference)
desired += muO_reference
np.testing.assert_allclose(actual, desired, atol=1e-04)
[docs]
class TestOxygenReservoirs(TestChempots):
[docs]
def test_oxygen_pressure_reservoirs(self):
ox_res_dict = {
1e-20: Chempots({'O': -10.88}),
3.162e-13: Chempots({'O': -9.91}),
1e-05: Chempots({'O': -8.94}),
3.162e02: Chempots({'O': -7.97}),
1e10: Chempots({'O': -7.01})
}
ox_res = get_oxygen_pressure_reservoirs(oxygen_ref=self.mu_abs['O'],temperature=1300,npoints=5)
ReservoirsTest().assert_Reservoirs_equal( ox_res , PressureReservoirs(ox_res_dict) ,check_reference=False, rtol=1e-02)