From 1730c12dcbc8f2b0034c354bb239ae283b60e4a4 Mon Sep 17 00:00:00 2001 From: KulaginVladimir Date: Wed, 9 Oct 2024 22:16:44 +0300 Subject: [PATCH] Zhou2024 data for W Cr Fe --- h_transport_materials/material.py | 1 + h_transport_materials/property.py | 12 +-- .../property_database/FeCrAl/__init__.py | 1 - .../property_database/FeCrAl/apmt/apmt.py | 6 +- .../FeCrAl/fe22cr5al/__init__.py | 1 - .../FeCrAl/fe22cr5al/fe22cr5al.py | 6 +- .../FeCrAl/oxidized_1605/__init__.py | 1 - .../FeCrAl/oxidized_1605/oxidized_1605.py | 6 +- .../property_database/FeCrAl/t35y/__init__.py | 1 - .../property_database/FeCrAl/t35y/t35y.py | 6 +- .../property_database/FeCrAl/t54y/__init__.py | 1 - .../property_database/FeCrAl/t54y/t54y.py | 6 +- .../FeCrAl/thermacore/__init__.py | 1 - .../FeCrAl/thermacore/thermacore.py | 6 +- .../FeCrAl/thermacore_oxidized/__init__.py | 1 - .../thermacore_oxidized.py | 6 +- .../property_database/__init__.py | 2 + .../property_database/chromium.py | 81 +++++++++++++++++++ .../eurofer_97/eurofer_97.py | 18 +---- .../property_database/flinak/flinak.py | 4 +- .../property_database/iron.py | 69 ++++++++++++++++ .../property_database/molybdenum.py | 2 +- .../property_database/palladium_copper.py | 29 ++++--- .../property_database/ss_304/__init__.py | 1 - .../property_database/tungsten/tungsten.py | 69 ++++++++++++++++ .../property_database/tzm.py | 2 +- h_transport_materials/references.bib | 11 +++ tests/test_arhenius_property.py | 4 +- 28 files changed, 280 insertions(+), 74 deletions(-) create mode 100644 h_transport_materials/property_database/chromium.py diff --git a/h_transport_materials/material.py b/h_transport_materials/material.py index 148a67ff..d8a0955e 100644 --- a/h_transport_materials/material.py +++ b/h_transport_materials/material.py @@ -153,6 +153,7 @@ class PalladiumAlloy(Alloy): PDAG = PalladiumAlloy("pdag") ZIRCONIUM = PureMetal("zirconium", "Zr") YTTRIUM = PureMetal("yttrium", "Y") +CHROMIUM = PureMetal("chromium", "Cr") ALUMINA = Compound("alumina") EUROFER = Steel("eurofer_97") diff --git a/h_transport_materials/property.py b/h_transport_materials/property.py index 64fc421c..709a8ad3 100644 --- a/h_transport_materials/property.py +++ b/h_transport_materials/property.py @@ -619,12 +619,8 @@ def data_y(self, value): self._data_y = value def set_law_from_quantity(self, quantity): - sievert_units = ( - ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-0.5 - ) - henry_units = ( - ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-1 - ) + sievert_units = ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-0.5 + henry_units = ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-1 if quantity.check(sievert_units): self.law = "sievert" elif quantity.check(henry_units): @@ -637,9 +633,7 @@ def set_law_from_quantity(self, quantity): @property def units(self): if self.law == "sievert": - return ( - ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-0.5 - ) + return ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-0.5 elif self.law == "henry": return ureg.particle * ureg.meter**-1 * ureg.second**-1 * ureg.Pa**-1 diff --git a/h_transport_materials/property_database/FeCrAl/__init__.py b/h_transport_materials/property_database/FeCrAl/__init__.py index b43cc631..7704e8d3 100644 --- a/h_transport_materials/property_database/FeCrAl/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/__init__.py @@ -5,4 +5,3 @@ from . import t54y from . import thermacore from . import thermacore_oxidized - diff --git a/h_transport_materials/property_database/FeCrAl/apmt/apmt.py b/h_transport_materials/property_database/FeCrAl/apmt/apmt.py index 1f199690..07de0010 100644 --- a/h_transport_materials/property_database/FeCrAl/apmt/apmt.py +++ b/h_transport_materials/property_database/FeCrAl/apmt/apmt.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) Hu_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.mol * u.m**(-1) * u.s**(-1) * u.MPa**(-0.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.mol * u.m ** (-1) * u.s ** (-1) * u.MPa ** (-0.5), source="hu_hydrogen_2015", isotope="H", note="Figure 6", diff --git a/h_transport_materials/property_database/FeCrAl/fe22cr5al/__init__.py b/h_transport_materials/property_database/FeCrAl/fe22cr5al/__init__.py index d6c699b3..6086a48b 100644 --- a/h_transport_materials/property_database/FeCrAl/fe22cr5al/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/fe22cr5al/__init__.py @@ -1,2 +1 @@ from . import fe22cr5al - diff --git a/h_transport_materials/property_database/FeCrAl/fe22cr5al/fe22cr5al.py b/h_transport_materials/property_database/FeCrAl/fe22cr5al/fe22cr5al.py index fb92e627..c9a80555 100644 --- a/h_transport_materials/property_database/FeCrAl/fe22cr5al/fe22cr5al.py +++ b/h_transport_materials/property_database/FeCrAl/fe22cr5al/fe22cr5al.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) xu_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.mol * u.m**(-1) * u.s**(-1) * u.Pa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.mol * u.m ** (-1) * u.s ** (-1) * u.Pa ** (-0.5), source="xu_studies_2016", isotope="D", note="Figure 1, oxidised", diff --git a/h_transport_materials/property_database/FeCrAl/oxidized_1605/__init__.py b/h_transport_materials/property_database/FeCrAl/oxidized_1605/__init__.py index d212d270..13807a2e 100644 --- a/h_transport_materials/property_database/FeCrAl/oxidized_1605/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/oxidized_1605/__init__.py @@ -1,2 +1 @@ from . import oxidized_1605 - diff --git a/h_transport_materials/property_database/FeCrAl/oxidized_1605/oxidized_1605.py b/h_transport_materials/property_database/FeCrAl/oxidized_1605/oxidized_1605.py index 970f00a5..527511e1 100644 --- a/h_transport_materials/property_database/FeCrAl/oxidized_1605/oxidized_1605.py +++ b/h_transport_materials/property_database/FeCrAl/oxidized_1605/oxidized_1605.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) ash_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.micromol * u.m**(-1) * u.s**(-1) * u.kPa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.micromol * u.m ** (-1) * u.s ** (-1) * u.kPa ** (-0.5), source="ashdown_alloy_1980", isotope="H", ) diff --git a/h_transport_materials/property_database/FeCrAl/t35y/__init__.py b/h_transport_materials/property_database/FeCrAl/t35y/__init__.py index d7f3ca5e..0bcc1997 100644 --- a/h_transport_materials/property_database/FeCrAl/t35y/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/t35y/__init__.py @@ -1,2 +1 @@ from . import t35y - diff --git a/h_transport_materials/property_database/FeCrAl/t35y/t35y.py b/h_transport_materials/property_database/FeCrAl/t35y/t35y.py index 5ad775d5..89ba2116 100644 --- a/h_transport_materials/property_database/FeCrAl/t35y/t35y.py +++ b/h_transport_materials/property_database/FeCrAl/t35y/t35y.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) Hu_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.mol * u.m**(-1) * u.s**(-1) * u.MPa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.mol * u.m ** (-1) * u.s ** (-1) * u.MPa ** (-0.5), source="hu_hydrogen_2015", isotope="H", note="Figure 6", diff --git a/h_transport_materials/property_database/FeCrAl/t54y/__init__.py b/h_transport_materials/property_database/FeCrAl/t54y/__init__.py index 2b03860e..40902a2b 100644 --- a/h_transport_materials/property_database/FeCrAl/t54y/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/t54y/__init__.py @@ -1,2 +1 @@ from . import t54y - diff --git a/h_transport_materials/property_database/FeCrAl/t54y/t54y.py b/h_transport_materials/property_database/FeCrAl/t54y/t54y.py index 9b847b72..e82201e9 100644 --- a/h_transport_materials/property_database/FeCrAl/t54y/t54y.py +++ b/h_transport_materials/property_database/FeCrAl/t54y/t54y.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) Hu_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.mol * u.m**(-1) * u.s**(-1) * u.MPa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.mol * u.m ** (-1) * u.s ** (-1) * u.MPa ** (-0.5), source="hu_hydrogen_2015", isotope="H", note="Figure 6", diff --git a/h_transport_materials/property_database/FeCrAl/thermacore/__init__.py b/h_transport_materials/property_database/FeCrAl/thermacore/__init__.py index ff4bc76f..7364aa0a 100644 --- a/h_transport_materials/property_database/FeCrAl/thermacore/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/thermacore/__init__.py @@ -1,2 +1 @@ from . import thermacore - diff --git a/h_transport_materials/property_database/FeCrAl/thermacore/thermacore.py b/h_transport_materials/property_database/FeCrAl/thermacore/thermacore.py index 5cf7784c..0349712d 100644 --- a/h_transport_materials/property_database/FeCrAl/thermacore/thermacore.py +++ b/h_transport_materials/property_database/FeCrAl/thermacore/thermacore.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) van_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.micromol * u.m**(-1) * u.s**(-1) * u.kPa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.micromol * u.m ** (-1) * u.s ** (-1) * u.kPa ** (-0.5), source="vandeventer_hydrogen_1980", isotope="H", note="Figure 2", diff --git a/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/__init__.py b/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/__init__.py index 83db5516..4c2458f8 100644 --- a/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/__init__.py +++ b/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/__init__.py @@ -1,2 +1 @@ from . import thermacore_oxidized - diff --git a/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/thermacore_oxidized.py b/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/thermacore_oxidized.py index 394f1248..40d41e0c 100644 --- a/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/thermacore_oxidized.py +++ b/h_transport_materials/property_database/FeCrAl/thermacore_oxidized/thermacore_oxidized.py @@ -1,7 +1,7 @@ import h_transport_materials as htm from h_transport_materials import ( Permeability, -) +) import numpy as np u = htm.ureg @@ -12,8 +12,8 @@ ) van_perm = Permeability( - data_T=(1000 / data[:,0]) * u.K, - data_y=data[:,1] * u.micromol * u.m**(-1) * u.s**(-1) * u.kPa**(-.5), + data_T=(1000 / data[:, 0]) * u.K, + data_y=data[:, 1] * u.micromol * u.m ** (-1) * u.s ** (-1) * u.kPa ** (-0.5), source="vandeventer_hydrogen_1980", isotope="H", note="Figure 2", diff --git a/h_transport_materials/property_database/__init__.py b/h_transport_materials/property_database/__init__.py index e679e927..b51a4f39 100644 --- a/h_transport_materials/property_database/__init__.py +++ b/h_transport_materials/property_database/__init__.py @@ -72,3 +72,5 @@ from . import palladium_copper from . import sic + +from . import chromium diff --git a/h_transport_materials/property_database/chromium.py b/h_transport_materials/property_database/chromium.py new file mode 100644 index 00000000..f3fb1233 --- /dev/null +++ b/h_transport_materials/property_database/chromium.py @@ -0,0 +1,81 @@ +import h_transport_materials as htm +from h_transport_materials import Diffusivity + +u = htm.ureg + +zhou_diffusivity_chromium_h_model1 = Diffusivity( + D_0=1.680e-7 * u.m**2 * u.s**-1, + E_D=0.0994 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note="Table 2. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_chromium_h_model4 = Diffusivity( + D_0=1.366e-7 * u.m**2 * u.s**-1, + E_D=0.0998 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note=( + "Table 2. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_chromium_d_model1 = Diffusivity( + D_0=1.383e-7 * u.m**2 * u.s**-1, + E_D=0.111 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_chromium_d_model4 = Diffusivity( + D_0=1.110e-7 * u.m**2 * u.s**-1, + E_D=0.110 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_chromium_t_model1 = Diffusivity( + D_0=1.204e-7 * u.m**2 * u.s**-1, + E_D=0.114 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_chromium_t_model4 = Diffusivity( + D_0=9.539e-8 * u.m**2 * u.s**-1, + E_D=0.114 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +properties = [ + zhou_diffusivity_chromium_h_model1, + zhou_diffusivity_chromium_h_model4, + zhou_diffusivity_chromium_d_model1, + zhou_diffusivity_chromium_d_model4, + zhou_diffusivity_chromium_t_model1, + zhou_diffusivity_chromium_t_model4, +] + +for prop in properties: + prop.material = htm.CHROMIUM + +htm.database += properties diff --git a/h_transport_materials/property_database/eurofer_97/eurofer_97.py b/h_transport_materials/property_database/eurofer_97/eurofer_97.py index 4526f0d5..bdee4ab1 100644 --- a/h_transport_materials/property_database/eurofer_97/eurofer_97.py +++ b/h_transport_materials/property_database/eurofer_97/eurofer_97.py @@ -8,11 +8,7 @@ aiello_permeability_H = Permeability( data_T=1000 / aiello_permeability_data["H"]["x"] * u.K, - data_y=aiello_permeability_data["H"]["y"] - * u.mol - * u.m**-1 - * u.Pa**-0.5 - * u.s**-1, + data_y=aiello_permeability_data["H"]["y"] * u.mol * u.m**-1 * u.Pa**-0.5 * u.s**-1, source="aiello_hydrogen_2002", isotope="H", note="in the paper, only the 3 hottest points are fitted to measure lattice diffusion only", @@ -21,11 +17,7 @@ aiello_permeability_D = Permeability( data_T=1000 / aiello_permeability_data["D"]["x"] * u.K, - data_y=aiello_permeability_data["D"]["y"] - * u.mol - * u.m**-1 - * u.Pa**-0.5 - * u.s**-1, + data_y=aiello_permeability_data["D"]["y"] * u.mol * u.m**-1 * u.Pa**-0.5 * u.s**-1, source="aiello_hydrogen_2002", isotope="D", note="in the paper, only the 3 hottest points are fitted to measure lattice diffusion only", @@ -92,11 +84,7 @@ esteban_permeability = Permeability( data_T=1000 / esteban_permeability_data[:, 0] * u.K, - data_y=esteban_permeability_data[:, 1] - * u.mol - * u.m**-1 - * u.Pa**-0.5 - * u.s**-1, + data_y=esteban_permeability_data[:, 1] * u.mol * u.m**-1 * u.Pa**-0.5 * u.s**-1, source="esteban_hydrogen_2007", isotope="H", ) diff --git a/h_transport_materials/property_database/flinak/flinak.py b/h_transport_materials/property_database/flinak/flinak.py index 9c55c733..65825400 100644 --- a/h_transport_materials/property_database/flinak/flinak.py +++ b/h_transport_materials/property_database/flinak/flinak.py @@ -47,9 +47,7 @@ ) data_nakamura_sol_flinak_T = 1 / data_nakamura["sol_flinakx"] * u.K -data_nakamura_sol_flinak_y = ( - data_nakamura["sol_flinaky"] * u.mol * u.m**-3 * u.Pa**-1 -) +data_nakamura_sol_flinak_y = data_nakamura["sol_flinaky"] * u.mol * u.m**-3 * u.Pa**-1 nakamura_solubility_h = Solubility( data_T=data_nakamura_sol_flinak_T, data_y=data_nakamura_sol_flinak_y, diff --git a/h_transport_materials/property_database/iron.py b/h_transport_materials/property_database/iron.py index 9d944f36..cd3a7308 100644 --- a/h_transport_materials/property_database/iron.py +++ b/h_transport_materials/property_database/iron.py @@ -124,6 +124,69 @@ note="gamma phase", ) +zhou_diffusivity_iron_h_model1 = Diffusivity( + D_0=1.458e-7 * u.m**2 * u.s**-1, + E_D=0.0817 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note="Table 2. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_iron_h_model4 = Diffusivity( + D_0=1.076e-7 * u.m**2 * u.s**-1, + E_D=0.0734 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note=( + "Table 2. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_iron_d_model1 = Diffusivity( + D_0=1.143e-7 * u.m**2 * u.s**-1, + E_D=0.0874 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_iron_d_model4 = Diffusivity( + D_0=8.482e-8 * u.m**2 * u.s**-1, + E_D=0.0810 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_iron_t_model1 = Diffusivity( + D_0=9.754e-8 * u.m**2 * u.s**-1, + E_D=0.0889 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_iron_t_model4 = Diffusivity( + D_0=7.190e-8 * u.m**2 * u.s**-1, + E_D=0.0833 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + properties = [ volkl_diffusivity, tahara_diffusivity_H, @@ -136,6 +199,12 @@ addach_diffusivity, masui_permeability_alpha, masui_permeability_gamma, + zhou_diffusivity_iron_h_model1, + zhou_diffusivity_iron_h_model4, + zhou_diffusivity_iron_d_model1, + zhou_diffusivity_iron_d_model4, + zhou_diffusivity_iron_t_model1, + zhou_diffusivity_iron_t_model4, ] for prop in properties: diff --git a/h_transport_materials/property_database/molybdenum.py b/h_transport_materials/property_database/molybdenum.py index 3f442d70..901f9c42 100644 --- a/h_transport_materials/property_database/molybdenum.py +++ b/h_transport_materials/property_database/molybdenum.py @@ -67,7 +67,7 @@ tanabe_solubility, katsuta_solubility, frauenfelder_permeability, - guthrie_permeability + guthrie_permeability, ] for prop in properties: diff --git a/h_transport_materials/property_database/palladium_copper.py b/h_transport_materials/property_database/palladium_copper.py index ff5ee9e1..32128ab7 100644 --- a/h_transport_materials/property_database/palladium_copper.py +++ b/h_transport_materials/property_database/palladium_copper.py @@ -2,19 +2,22 @@ from h_transport_materials import ( Permeability, Diffusivity, -) +) import numpy as np u = htm.ureg -li_data_T = np.array( - [ - 350, - 375, - 400, - 425, - ] -) * u.degC +li_data_T = ( + np.array( + [ + 350, + 375, + 400, + 425, + ] + ) + * u.degC +) li_data_y = ( np.array( @@ -25,9 +28,9 @@ 1.60e-8, ] ) - * u.mol - * u.m**-1 - * u.Pa**-0.5 + * u.mol + * u.m**-1 + * u.Pa**-0.5 * u.s**-1 ) @@ -36,7 +39,7 @@ data_y=li_data_y, source="li_low_2023", isotope="H", - note="SI Table 1 (supporting information)" + note="SI Table 1 (supporting information)", ) piper_diffusivity_h = Diffusivity( diff --git a/h_transport_materials/property_database/ss_304/__init__.py b/h_transport_materials/property_database/ss_304/__init__.py index 3a05405b..b1e0b7e3 100644 --- a/h_transport_materials/property_database/ss_304/__init__.py +++ b/h_transport_materials/property_database/ss_304/__init__.py @@ -1,2 +1 @@ from . import ss_304 - diff --git a/h_transport_materials/property_database/tungsten/tungsten.py b/h_transport_materials/property_database/tungsten/tungsten.py index 97011f8b..28cc89c7 100644 --- a/h_transport_materials/property_database/tungsten/tungsten.py +++ b/h_transport_materials/property_database/tungsten/tungsten.py @@ -488,6 +488,69 @@ note="Table 2 CR", ) +zhou_diffusivity_tungsten_h_model1 = Diffusivity( + D_0=1.934e-7 * u.m**2 * u.s**-1, + E_D=0.201 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note="Table 2. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_tungsten_h_model4 = Diffusivity( + D_0=1.876e-7 * u.m**2 * u.s**-1, + E_D=0.201 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="H", + note=( + "Table 2. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_tungsten_d_model1 = Diffusivity( + D_0=1.509e-7 * u.m**2 * u.s**-1, + E_D=0.206 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_tungsten_d_model4 = Diffusivity( + D_0=1.460e-7 * u.m**2 * u.s**-1, + E_D=0.206 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="D", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + +zhou_diffusivity_tungsten_t_model1 = Diffusivity( + D_0=1.270e-7 * u.m**2 * u.s**-1, + E_D=0.207 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note="Table S2 of suplementary materials. Model 1 considering only hydrogen isotope vibrations", +) + +zhou_diffusivity_tungsten_t_model4 = Diffusivity( + D_0=1.226e-7 * u.m**2 * u.s**-1, + E_D=0.207 * u.eV * u.particle**-1, + range=(297 * u.K, 1000 * u.K), + source="zhou_hydrogen_isotopes_2024", + isotope="T", + note=( + "Table S2 of suplementary materials. Model 4 considering lattice pDOS coupled " + "with hydrogen isotope vibrations and thermal expansion" + ), +) + properties = [ frauenfelder_diffusivity, liu_diffusivity_tungsten, @@ -536,6 +599,12 @@ byeon_diffusivity_CR, byeon_permeability_IG, byeon_permeability_CR, + zhou_diffusivity_tungsten_h_model1, + zhou_diffusivity_tungsten_h_model4, + zhou_diffusivity_tungsten_d_model1, + zhou_diffusivity_tungsten_d_model4, + zhou_diffusivity_tungsten_t_model1, + zhou_diffusivity_tungsten_t_model4, ] for prop in properties: diff --git a/h_transport_materials/property_database/tzm.py b/h_transport_materials/property_database/tzm.py index 4b21905e..868908a3 100644 --- a/h_transport_materials/property_database/tzm.py +++ b/h_transport_materials/property_database/tzm.py @@ -5,7 +5,7 @@ Solubility, DissociationCoeff, RecombinationCoeff, -) +) import numpy as np u = htm.ureg diff --git a/h_transport_materials/references.bib b/h_transport_materials/references.bib index fdd623c8..180f44b7 100644 --- a/h_transport_materials/references.bib +++ b/h_transport_materials/references.bib @@ -2766,4 +2766,15 @@ @techreport{wille_hydrogen_1981 month = apr, year = {1981}, doi = {10.2172/6420120}, +} + +@article{zhou_hydrogen_isotopes_2024, + title={Thermal expansion, lattice vibration, and isotope effect on hydrogen diffusion in BCC Fe, Cr, and W from first-principles calculations}, + author={Zhou, Ziling and Nie, Rui and Wang, Yu and Guo, Jingni and Xie, Feng and Cao, Jianzhu and Wen, Yanwei and Shan, Bin}, + journal={The Journal of Chemical Physics}, + url = {https://pubs.aip.org/aip/jcp/article/160/18/184703/3290607/Thermal-expansion-lattice-vibration-and-isotope}, + volume={160}, + number={18}, + year={2024}, + publisher={AIP Publishing} } \ No newline at end of file diff --git a/tests/test_arhenius_property.py b/tests/test_arhenius_property.py index 7c219107..02d246ee 100644 --- a/tests/test_arhenius_property.py +++ b/tests/test_arhenius_property.py @@ -159,9 +159,7 @@ def test_no_units_preexp_raises_warning(): with pytest.warns( UserWarning, match="no units were given with pre-exponential factor" ): - htm.ArrheniusProperty( - 0.1, act_energy=0.1 * htm.ureg.eV * htm.ureg.particle**-1 - ) + htm.ArrheniusProperty(0.1, act_energy=0.1 * htm.ureg.eV * htm.ureg.particle**-1) def test_no_units_act_energy_raises_warning():