From 075be96db10bae79983a706fbc11a3dfd52957c1 Mon Sep 17 00:00:00 2001 From: Sami Amestas Date: Fri, 19 Jul 2024 12:38:16 +0200 Subject: [PATCH] [186_LBE_contamination], issue #186, Implementation of Thallium vapour pressure by Landolt, 1991. --- .../lbe_contamination.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/lbh15/properties/lbe_thermochemical_properties/lbe_contamination.py b/lbh15/properties/lbe_thermochemical_properties/lbe_contamination.py index a7843c3..a49179e 100644 --- a/lbh15/properties/lbe_thermochemical_properties/lbe_contamination.py +++ b/lbh15/properties/lbe_thermochemical_properties/lbe_contamination.py @@ -375,3 +375,77 @@ def range(self) -> List[float]: constant correlation function. """ return [398.0, 1927.0] + + +class LBEThalliumVapourPressureInterfaceLandolt1991(PropertyInterface): + """ + Liquid LBE *Thallium compounds vapour pressure* property class + implementing the correltion by *landolt1991*. + """ + @range_warning + def correlation(self, T: float, p: float = atm, + verbose: bool = False) -> float: + """ + Returns the value of the *Thallium compounds vapour pressure* by + applying the property correlation. + + Parameters + ---------- + T : float + Temperature in :math:`[K]` + p : float, optional + Pressure in :math:`[Pa]`, by default the atmospheric pressure + value, i.e., :math:`101325.0 Pa` + verbose : bool, optional + `True` to tell the decorator to print a warning message in case of + range check failing, `False` otherwise. By default, `False` + + Returns + ------- + float: + pressure in :math:`[Pa]` + """ + return 1.25 * 10**((- 9463 / T) + 13.264 - 0.892 * log(T)) + + @property + def name(self) -> str: + """ + str : Name of the property + """ + return "P_LBETl" + + @property + def correlation_name(self) -> str: + """ + str : Name of the correlation + """ + return "landolt1991" + + @property + def units(self) -> str: + """ + str : Vapour pressure unit + """ + return "[Pa]" + + @property + def long_name(self) -> str: + """ + str : Thallium vapour pressure long name + """ + return "Vapour pressure of Thallium in LBE" + + @property + def description(self) -> str: + """ + str : Thallium vapour pressure description + """ + return f"{self.long_name} in liquid LBE" + + @property + def range(self) -> List[float]: + """ + List[float] : Temperature validity range of the thallium + vapour pressure correlation function. + """ + return [398.0, 1927.0]