The HTM project:
an open-source library for H transport properties
Remi Delaporte-Mathurin¹, James Dark² ³, Thomas Fuerst⁴, Nathan Gehmlich⁴
¹ Plasma Science and Fusion Center, MIT, Cambridge, MA 02139, USA
² CEA, IRFM/GCFPM, F-13108 Saint-Paul-lez-Durance, France
³ Université Sorbonne Paris Nord, LSPM, CNRS, UPR 3407, F-93430, Villetaneuse, France
⁴ Idaho National Laboratory, Idaho Falls, ID 83401, USA
Survey time! 🙋
Have you ever used literature reviews for hydrogen materials properties?
Backstory
Mini-review in one of our papers
- Relied on another published review that had typos
- but cited the original papers
Result: error propagation...
Backstory
From review
Original paper
Backstory
A typo in the manuscript lead to a difference of 2 orders of magnitude
Original paper
From review
Backstory
Backstory
Review #1
Review #2
(citing #1)
13.1
11.7
Making mistakes in review: easy
Catching them during peer-review: almost impossible
HTM: a hydrogen transport properties database
Reliable
Accessible
Transparent
HTM has solutions for the most common pitfalls
Conversion errors
Automated unit conversion with Pint
Wrong references
Bibtex integration
Error propagation from other reviews
Only data from original papers
Fitting errors
Automatic fitting
Permanent errors in paper
Open-source
Obsolete reviews
Lack of transparency
HTM is growing
40+ materials
150 references
400 properties
Current version 0.14
HTM is scriptable
import h_transport_materials as htm
# filter only tungsten and H
diffusivities = htm.diffusivities.filter(material="tungsten", isotope="h")
htm.plotting.plot(diffusivities)
import matplotlib.pyplot as plt
plt.yscale("log")
plt.title("Tungsten diffusivity")
Access the internal database
import h_transport_materials as htm
tungsten_diffusivities = htm.diffusivities.filter(material="tungsten")
tungsten_diffusivities.export_bib("my_bibfile.bib")
Export the references to BibTeX
import h_transport_materials as htm
D = (
htm.diffusivities
.filter(material="tungsten")
.filter(author="frauenfelder")[0]
)
import festim as F
my_material = F.Material(
id=1,
D_0=D.pre_exp,
E_D=D.act_energy
)
Easy integration in workflows
No manual copy paste!
HTM is transparent
import h_transport_materials as htm
from h_transport_materials import Diffusivity, Solubility
u = htm.ureg
causey_diffusivity = Diffusivity(
D_0=0.93e-4 * u.m**2 * u.s**-1,
E_D=2.8 * u.eV * u.particle**-1,
range=(900 * u.K, 1473 * u.K),
source="causey_interaction_1989",
isotope="H",
)
atsumi_diffusivity = Diffusivity(
D_0=1.69 * u.cm**2 * u.s**-1,
E_D=251 * u.kJ * u.mol**-1,
range=(500 * u.degC, 900 * u.degC),
isotope="D",
source="atsumi_absorption_1988",
note="Equation 5 of Atsumi's paper",
)
atsumi_solubility = Solubility(
S_0=1.9e-1 * u.mol * u.m**-3 * u.Pa**-0.5,
E_S=-19.2 * u.kJ * u.mol**-1,
range=(850 * u.degC, 1050 * u.degC),
source="atsumi_absorption_1988",
isotope="H",
)
properties = [causey_diffusivity, atsumi_diffusivity, atsumi_solubility]
for prop in properties:
prop.material = htm.CARBON
htm.database += properties
- BibTex source for easy reference
- Automatic unit conversion with Pint
- Additional notes
HTM simplifies writing papers
import h_transport_materials as htm
htm.diffusivities
.filter(material="tungsten")
.to_latex_table()
Use HTM to generate LaTeX tables
Next steps
- more materials (eg ceramics)
- more properties
- trapping properties
- Soret coefficients
HTM needs to be driven by our community!
We welcome contributions from everyone!
Paper review | HTM | |
---|---|---|
Citable | ✅ | ✅ |
Version control | ❌ | ✅ |
Unit conversions | manual❌ | automated✅ |
Fixable | ❌ | ✅ |
New entries | ❌ | ✅ |
Transparent | ❌ | ✅ |
Scriptable | ❌ | ✅ |
Interactive | ❌ | ✅ |
Thank you very much!
H-transport materials library
By Remi Delaporte-Mathurin
H-transport materials library
- 277