FESTIM meeting

March 2024

Agenda

NumFOCUS sponsorship

📃FESTIM review paper

✅V&V project

New example: isotope swapping

🧑‍💻General updates

🗣️Discussion

FESTIM accepted as a NumFOCUS affiliated project

What this means for us...

Small development grants 💰

  • Code development
  • Documentation
  • Website updates
  • Workshops and sprints
  • Educational, sustainability, and diversity initiatives
  • Any work that directly benefits the project and/or its community
  • Travel for community members & developers to project events and conferences

Visibility and credibility 📈

A couple of ideas

Code review by FEniCS team

Funding for a FESTIM conference

Internships for small development tasks/prototyping

Logo design

Ideas from the community

📃FESTIM review paper published

Repository

https://doi.org/10.1016/j.ijhydene.2024.03.184

✅V&V book

  • A standard for decades
  • Still not fully reproducible
  • We thought we could do even better...
  • 100% automated (no hard coded images)
  • 100% transparent
  • 100% reproducible
  • Version control
  • Citable (DOI from DSpace@MIT)

✅V&V book

Isotope swapping example

References:

  • F. Sun et al 2024 Nucl. Fusion 64 046011
  • D Kogut et al 2016 Phys. Scr. 2016 014062

Isotope swapping

\mathrm{H} + [\ \ \ ]_\mathrm{trap} \ \substack{p \\[-1em] \longleftarrow\\[-1em] \longrightarrow \\[-1em] k} \ [\mathrm{H}]_\mathrm{trap}
\mathrm{D} + [\ \ \ ]_\mathrm{trap} \ \substack{p \\[-1em] \longleftarrow\\[-1em] \longrightarrow \\[-1em] k} \ [\mathrm{D}]_\mathrm{trap}
\mathrm{D} + [\mathrm{H}]_\mathrm{trap} \ \substack{k_\mathrm{swap} \\[-1em] \longleftarrow\\[-1em] \longrightarrow \\[-1.2em] k_\mathrm{swap}} \ [\mathrm{D}]_\mathrm{trap} + \mathrm{H}

same underlying equations!

Can be represented by festim.Reaction

my_model.species = [
    mobile_H,
    mobile_D,
    trapped_H,
    trapped_D,
]

my_model.reactions = [
    F.Reaction(
        k_0=k_0,
        E_k=0.39,
        p_0=1e13,
        E_p=1.2,
        reactant1=mobile_H,
        reactant2=empty_trap,
        product=trapped_H,
        volume=my_subdomain,
    ),
    F.Reaction(
        k_0=k_0,
        E_k=0.39,
        p_0=1e13,
        E_p=1.2,
        reactant1=mobile_D,
        reactant2=empty_trap,
        product=trapped_D,
        volume=my_subdomain,
    ),
    F.Reaction(
        k_0=k_0,
        E_k=0.1,
        p_0=k_0,
        E_p=0.1,
        reactant1=mobile_H,
        reactant2=trapped_D,
        product=[mobile_D, trapped_H],
        volume=my_subdomain,
    ),
]

Usual trapping reactions

Swapping reaction

4 species are defined

\frac{\partial c_H}{\partial t} = \nabla \cdot (D \nabla c_H) - C_\mathrm{trapping, H} - C_\mathrm{swapping}
\frac{\partial c_D}{\partial t} = \nabla \cdot (D \nabla c_D) - C_\mathrm{trapping, D} + C_\mathrm{swapping}
\frac{\partial c_{H, t}}{\partial t} = C_\mathrm{trapping, H} + C_\mathrm{swapping}
\frac{\partial c_{D, t}}{\partial t} = C_\mathrm{trapping, D} - C_\mathrm{swapping}
C_\mathrm{trapping, D} = k c_D (n - c_{D, t}) - p c_{D, t}
C_\mathrm{trapping, H} = k c_H (n - c_{H, t}) - p c_{H, t}
C_\mathrm{swapping} = k_\mathrm{swapping} c_H c_{D, t} - k_\mathrm{swapping} c_{H, t} c_D = k_\mathrm{swapping} (c_H c_{D, t} - c_{H, t} c_D )

Governing equations

At \( t = 0 \), traps saturated with H and D is introduced in the sample

\(c_H =0\) on boundary

General updates

FESTIM meeting March

By Remi Delaporte-Mathurin

FESTIM meeting March

  • 188