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

Links to:

📖Documentation

Source code

📈📊Web Application

Thank you very much!

Links to:

📖Documentation

👩‍💻Source code

📈📊Web Application

H-transport materials library

By Remi Delaporte-Mathurin

H-transport materials library

  • 146