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
- 215