Skip to content

Commit

Permalink
Merge pull request #298 from KulaginVladimir/Zhou2024_WCrFe
Browse files Browse the repository at this point in the history
Zhou 2024 H, D, T diffusivities in Fe, Cr, W
  • Loading branch information
RemDelaporteMathurin authored Oct 10, 2024
2 parents 70a794e + 28bdf8d commit 783eded
Show file tree
Hide file tree
Showing 7 changed files with 238 additions and 3 deletions.
1 change: 1 addition & 0 deletions h_transport_materials/material.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
2 changes: 2 additions & 0 deletions h_transport_materials/property_database/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,5 @@
from . import palladium_copper

from . import sic

from . import chromium
81 changes: 81 additions & 0 deletions h_transport_materials/property_database/chromium.py
Original file line number Diff line number Diff line change
@@ -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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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
69 changes: 69 additions & 0 deletions h_transport_materials/property_database/iron.py
Original file line number Diff line number Diff line change
Expand Up @@ -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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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,
Expand All @@ -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:
Expand Down
69 changes: 69 additions & 0 deletions h_transport_materials/property_database/tungsten/tungsten.py
Original file line number Diff line number Diff line change
Expand Up @@ -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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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_thermal_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,
Expand Down Expand Up @@ -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:
Expand Down
15 changes: 15 additions & 0 deletions h_transport_materials/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -2766,4 +2766,19 @@ @techreport{wille_hydrogen_1981
month = apr,
year = {1981},
doi = {10.2172/6420120},
}
@article{zhou_thermal_2024,
title = {Thermal expansion, lattice vibration, and isotope effect on hydrogen diffusion in {BCC} {Fe}, {Cr}, and {W} from first-principles calculations},
volume = {160},
issn = {0021-9606},
url = {https://doi.org/10.1063/5.0204192},
doi = {10.1063/5.0204192},
number = {18},
urldate = {2024-10-09},
journal = {The Journal of Chemical Physics},
author = {Zhou, Ziling and Nie, Rui and Wang, Yu and Guo, Jingni and Xie, Feng and Cao, Jianzhu and Wen, Yanwei and Shan, Bin},
month = may,
year = {2024},
pages = {184703},
}
4 changes: 1 addition & 3 deletions tests/test_arhenius_property.py
Original file line number Diff line number Diff line change
Expand Up @@ -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():
Expand Down

0 comments on commit 783eded

Please sign in to comment.