Radioactive decay ☢️

Radioactive decay ☢️#

Objectives

  • Learn how to set radioactive decay in a FESTIM model

We will set a simple 1D model with one trap.

The sample will be at 300 K and exposed to tritium for a half a year.

After that, the source of tritium will be turned off and the sample will be stored for several half-lives (about 12 years).

FESTIM model#

import festim as F
import numpy as np
import sympy as sp

my_model = F.Simulation()

vertices = np.concatenate(
    [
        np.linspace(0, 2e-5, num=1000),
        np.linspace(2e-5, 1e-4, num=300),
        np.linspace(1e-4, 1e-2, num=100),
    ]
)
my_model.mesh = F.MeshFromVertices(vertices)

my_model.materials = F.Material(id=1, D_0=1e-7, E_D=0.2)

my_model.traps = F.Trap(
    k_0=1e-16,
    E_k=0.2,
    p_0=1e13,
    E_p=1.2,
    density=1.3e24,
    materials=my_model.materials[0],
)

exposure_time = 2e7
my_model.boundary_conditions = [
    F.DirichletBC(
        surfaces=[1],
        value=sp.Piecewise((1e17, F.t < exposure_time), (0, True)),
        field="solute",
    )
]


my_model.T = 300
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",

Radioactive decay is implemented as a volumetric source in FESTIM. The RadioactiveDecay class takes a decay constant as argument as well as a volume (here there is only one) and a field to which the source is applied.

By default, field is set to "all" but it is also possible to set it only for some species.

half_life = 12 * 365 * 24 * 3600  # 12 years
decay_constant = np.log(2) / half_life

my_model.sources = [
    F.RadioactiveDecay(decay_constant=decay_constant, volume=1, field="all"),
]

We then set some derived quantities exports as well as profile exports:

derived_quantities = F.DerivedQuantities(
    [
        F.TotalVolume("retention", volume=1),
        F.TotalVolume("solute", volume=1),
        F.TotalVolume("1", volume=1),
    ],
    show_units=True,
)
txt_export = F.TXTExport(
    "retention",
    times=[
        exposure_time,
        exposure_time + 1 * half_life,
        exposure_time + 2 * half_life,
        exposure_time + 3 * half_life,
    ],
    filename="task11/profiles.txt",
)

my_model.exports = [derived_quantities, txt_export]

The simulation will go on for three half-lives after the exposure.

my_model.dt = F.Stepsize(
    initial_value=1e3, stepsize_change_ratio=1.1, milestones=txt_export.times
)

my_model.settings = F.Settings(
    absolute_tolerance=1e6,
    relative_tolerance=1e-10,
    final_time=exposure_time + 3 * half_life,
    traps_element_type="DG",
)

my_model.initialise()
my_model.run()

Hide code cell output

Calling FFC just-in-time (JIT) compiler, this may take some time.
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
0.0 %        1.0e+03 s    Elapsed time so far: 1.8 s
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
0.0 %        1.9e+03 s    Elapsed time so far: 3.3 s
0.0 %        2.9e+03 s    Elapsed time so far: 3.3 s
0.0 %        4.0e+03 s    Elapsed time so far: 3.3 s
0.0 %        5.2e+03 s    Elapsed time so far: 3.3 s
0.0 %        6.6e+03 s    Elapsed time so far: 3.4 s
0.0 %        8.0e+03 s    Elapsed time so far: 3.4 s
0.0 %        9.6e+03 s    Elapsed time so far: 3.4 s
0.0 %        1.1e+04 s    Elapsed time so far: 3.4 s
0.0 %        1.3e+04 s    Elapsed time so far: 3.5 s
0.0 %        1.5e+04 s    Elapsed time so far: 3.5 s
0.0 %        1.8e+04 s    Elapsed time so far: 3.5 s
0.0 %        2.0e+04 s    Elapsed time so far: 3.6 s
0.0 %        2.3e+04 s    Elapsed time so far: 3.6 s
0.0 %        2.6e+04 s    Elapsed time so far: 3.6 s
0.0 %        3.0e+04 s    Elapsed time so far: 3.6 s
0.0 %        3.4e+04 s    Elapsed time so far: 3.7 s
0.0 %        3.8e+04 s    Elapsed time so far: 3.7 s
0.0 %        4.2e+04 s    Elapsed time so far: 3.7 s
0.0 %        4.8e+04 s    Elapsed time so far: 3.7 s
0.0 %        5.3e+04 s    Elapsed time so far: 3.8 s
0.0 %        5.9e+04 s    Elapsed time so far: 3.8 s
0.0 %        6.6e+04 s    Elapsed time so far: 3.8 s
0.0 %        7.3e+04 s    Elapsed time so far: 3.8 s
0.0 %        8.1e+04 s    Elapsed time so far: 3.9 s
0.0 %        9.0e+04 s    Elapsed time so far: 3.9 s
0.0 %        1.0e+05 s    Elapsed time so far: 3.9 s
0.0 %        1.1e+05 s    Elapsed time so far: 3.9 s
0.0 %        1.2e+05 s    Elapsed time so far: 4.0 s
0.0 %        1.3e+05 s    Elapsed time so far: 4.0 s
0.0 %        1.5e+05 s    Elapsed time so far: 4.0 s
0.0 %        1.6e+05 s    Elapsed time so far: 4.0 s
0.0 %        1.7e+05 s    Elapsed time so far: 4.1 s
0.0 %        1.8e+05 s    Elapsed time so far: 4.1 s
0.0 %        2.0e+05 s    Elapsed time so far: 4.1 s
0.0 %        2.1e+05 s    Elapsed time so far: 4.2 s
0.0 %        2.3e+05 s    Elapsed time so far: 4.2 s
0.0 %        2.4e+05 s    Elapsed time so far: 4.2 s
0.0 %        2.6e+05 s    Elapsed time so far: 4.2 s
0.0 %        2.8e+05 s    Elapsed time so far: 4.3 s
0.0 %        3.0e+05 s    Elapsed time so far: 4.3 s
0.0 %        3.1e+05 s    Elapsed time so far: 4.3 s
0.0 %        3.3e+05 s    Elapsed time so far: 4.3 s
0.0 %        3.5e+05 s    Elapsed time so far: 4.4 s
0.0 %        3.7e+05 s    Elapsed time so far: 4.4 s
0.0 %        3.9e+05 s    Elapsed time so far: 4.4 s
0.0 %        4.1e+05 s    Elapsed time so far: 4.4 s
0.0 %        4.4e+05 s    Elapsed time so far: 4.5 s
0.0 %        4.6e+05 s    Elapsed time so far: 4.5 s
0.0 %        4.8e+05 s    Elapsed time so far: 4.5 s
0.0 %        5.1e+05 s    Elapsed time so far: 4.6 s
0.1 %        5.3e+05 s    Elapsed time so far: 4.6 s
0.1 %        5.5e+05 s    Elapsed time so far: 4.6 s
0.1 %        5.8e+05 s    Elapsed time so far: 4.6 s
0.1 %        6.0e+05 s    Elapsed time so far: 4.7 s
0.1 %        6.3e+05 s    Elapsed time so far: 4.7 s
0.1 %        6.6e+05 s    Elapsed time so far: 4.7 s
0.1 %        6.8e+05 s    Elapsed time so far: 4.8 s
0.1 %        7.2e+05 s    Elapsed time so far: 4.8 s
0.1 %        7.4e+05 s    Elapsed time so far: 4.8 s
0.1 %        7.7e+05 s    Elapsed time so far: 4.8 s
0.1 %        8.0e+05 s    Elapsed time so far: 4.9 s
0.1 %        8.3e+05 s    Elapsed time so far: 4.9 s
0.1 %        8.7e+05 s    Elapsed time so far: 4.9 s
0.1 %        9.0e+05 s    Elapsed time so far: 4.9 s
0.1 %        9.3e+05 s    Elapsed time so far: 5.0 s
0.1 %        9.6e+05 s    Elapsed time so far: 5.0 s
0.1 %        1.0e+06 s    Elapsed time so far: 5.0 s
0.1 %        1.0e+06 s    Elapsed time so far: 5.1 s
0.1 %        1.1e+06 s    Elapsed time so far: 5.1 s
0.1 %        1.1e+06 s    Elapsed time so far: 5.1 s
0.1 %        1.1e+06 s    Elapsed time so far: 5.1 s
0.1 %        1.2e+06 s    Elapsed time so far: 5.2 s
0.1 %        1.2e+06 s    Elapsed time so far: 5.2 s
0.1 %        1.3e+06 s    Elapsed time so far: 5.2 s
0.1 %        1.3e+06 s    Elapsed time so far: 5.2 s
0.1 %        1.3e+06 s    Elapsed time so far: 5.3 s
0.1 %        1.4e+06 s    Elapsed time so far: 5.3 s
0.1 %        1.4e+06 s    Elapsed time so far: 5.3 s
0.1 %        1.5e+06 s    Elapsed time so far: 5.3 s
0.1 %        1.5e+06 s    Elapsed time so far: 5.4 s
0.1 %        1.5e+06 s    Elapsed time so far: 5.4 s
0.1 %        1.6e+06 s    Elapsed time so far: 5.4 s
0.1 %        1.6e+06 s    Elapsed time so far: 5.5 s
0.1 %        1.7e+06 s    Elapsed time so far: 5.5 s
0.1 %        1.7e+06 s    Elapsed time so far: 5.5 s
0.1 %        1.8e+06 s    Elapsed time so far: 5.5 s
0.2 %        1.8e+06 s    Elapsed time so far: 5.6 s
0.2 %        1.9e+06 s    Elapsed time so far: 5.6 s
0.2 %        1.9e+06 s    Elapsed time so far: 5.6 s
0.2 %        2.0e+06 s    Elapsed time so far: 5.6 s
0.2 %        2.0e+06 s    Elapsed time so far: 5.7 s
0.2 %        2.1e+06 s    Elapsed time so far: 5.7 s
0.2 %        2.1e+06 s    Elapsed time so far: 5.7 s
0.2 %        2.2e+06 s    Elapsed time so far: 5.8 s
0.2 %        2.2e+06 s    Elapsed time so far: 5.8 s
0.2 %        2.3e+06 s    Elapsed time so far: 5.8 s
0.2 %        2.3e+06 s    Elapsed time so far: 5.8 s
0.2 %        2.4e+06 s    Elapsed time so far: 5.9 s
0.2 %        2.4e+06 s    Elapsed time so far: 5.9 s
0.2 %        2.5e+06 s    Elapsed time so far: 5.9 s
0.2 %        2.6e+06 s    Elapsed time so far: 5.9 s
0.2 %        2.6e+06 s    Elapsed time so far: 6.0 s
0.2 %        2.7e+06 s    Elapsed time so far: 6.0 s
0.2 %        2.7e+06 s    Elapsed time so far: 6.0 s
0.2 %        2.8e+06 s    Elapsed time so far: 6.1 s
0.2 %        2.8e+06 s    Elapsed time so far: 6.1 s
0.2 %        2.9e+06 s    Elapsed time so far: 6.1 s
0.3 %        3.0e+06 s    Elapsed time so far: 6.1 s
0.3 %        3.0e+06 s    Elapsed time so far: 6.2 s
0.3 %        3.1e+06 s    Elapsed time so far: 6.2 s
0.3 %        3.2e+06 s    Elapsed time so far: 6.2 s
0.3 %        3.2e+06 s    Elapsed time so far: 6.2 s
0.3 %        3.3e+06 s    Elapsed time so far: 6.3 s
0.3 %        3.3e+06 s    Elapsed time so far: 6.3 s
0.3 %        3.4e+06 s    Elapsed time so far: 6.3 s
0.3 %        3.5e+06 s    Elapsed time so far: 6.4 s
0.3 %        3.6e+06 s    Elapsed time so far: 6.4 s
0.3 %        3.6e+06 s    Elapsed time so far: 6.4 s
0.3 %        3.7e+06 s    Elapsed time so far: 6.4 s
0.3 %        3.8e+06 s    Elapsed time so far: 6.5 s
0.3 %        3.8e+06 s    Elapsed time so far: 6.5 s
0.3 %        3.9e+06 s    Elapsed time so far: 6.5 s
0.3 %        4.0e+06 s    Elapsed time so far: 6.6 s
0.3 %        4.1e+06 s    Elapsed time so far: 6.6 s
0.4 %        4.1e+06 s    Elapsed time so far: 6.6 s
0.4 %        4.2e+06 s    Elapsed time so far: 6.6 s
0.4 %        4.3e+06 s    Elapsed time so far: 6.7 s
0.4 %        4.4e+06 s    Elapsed time so far: 6.7 s
0.4 %        4.4e+06 s    Elapsed time so far: 6.7 s
0.4 %        4.5e+06 s    Elapsed time so far: 6.7 s
0.4 %        4.6e+06 s    Elapsed time so far: 6.8 s
0.4 %        4.7e+06 s    Elapsed time so far: 6.8 s
0.4 %        4.7e+06 s    Elapsed time so far: 6.8 s
0.4 %        4.8e+06 s    Elapsed time so far: 6.9 s
0.4 %        4.9e+06 s    Elapsed time so far: 6.9 s
0.4 %        5.0e+06 s    Elapsed time so far: 6.9 s
0.4 %        5.1e+06 s    Elapsed time so far: 6.9 s
0.5 %        5.2e+06 s    Elapsed time so far: 7.0 s
0.5 %        5.2e+06 s    Elapsed time so far: 7.0 s
0.5 %        5.3e+06 s    Elapsed time so far: 7.0 s
0.5 %        5.4e+06 s    Elapsed time so far: 7.0 s
0.5 %        5.5e+06 s    Elapsed time so far: 7.1 s
0.5 %        5.6e+06 s    Elapsed time so far: 7.1 s
0.5 %        5.7e+06 s    Elapsed time so far: 7.1 s
0.5 %        5.8e+06 s    Elapsed time so far: 7.1 s
0.5 %        5.9e+06 s    Elapsed time so far: 7.2 s
0.5 %        5.9e+06 s    Elapsed time so far: 7.2 s
0.5 %        6.0e+06 s    Elapsed time so far: 7.2 s
0.5 %        6.1e+06 s    Elapsed time so far: 7.3 s
0.5 %        6.2e+06 s    Elapsed time so far: 7.3 s
0.6 %        6.3e+06 s    Elapsed time so far: 7.3 s
0.6 %        6.4e+06 s    Elapsed time so far: 7.3 s
0.6 %        6.5e+06 s    Elapsed time so far: 7.4 s
0.6 %        6.6e+06 s    Elapsed time so far: 7.4 s
0.6 %        6.7e+06 s    Elapsed time so far: 7.4 s
0.6 %        6.8e+06 s    Elapsed time so far: 7.4 s
0.6 %        6.9e+06 s    Elapsed time so far: 7.5 s
0.6 %        7.0e+06 s    Elapsed time so far: 7.5 s
0.6 %        7.1e+06 s    Elapsed time so far: 7.5 s
0.6 %        7.2e+06 s    Elapsed time so far: 7.6 s
0.6 %        7.3e+06 s    Elapsed time so far: 7.6 s
0.6 %        7.4e+06 s    Elapsed time so far: 7.6 s
0.7 %        7.5e+06 s    Elapsed time so far: 7.6 s
0.7 %        7.6e+06 s    Elapsed time so far: 7.7 s
0.7 %        7.7e+06 s    Elapsed time so far: 7.7 s
0.7 %        7.8e+06 s    Elapsed time so far: 7.7 s
0.7 %        7.9e+06 s    Elapsed time so far: 7.7 s
0.7 %        8.0e+06 s    Elapsed time so far: 7.8 s
0.7 %        8.1e+06 s    Elapsed time so far: 7.8 s
0.7 %        8.2e+06 s    Elapsed time so far: 7.8 s
0.7 %        8.3e+06 s    Elapsed time so far: 7.9 s
0.7 %        8.4e+06 s    Elapsed time so far: 7.9 s
0.7 %        8.6e+06 s    Elapsed time so far: 7.9 s
0.8 %        8.7e+06 s    Elapsed time so far: 7.9 s
0.8 %        8.8e+06 s    Elapsed time so far: 8.0 s
0.8 %        8.9e+06 s    Elapsed time so far: 8.0 s
0.8 %        9.0e+06 s    Elapsed time so far: 8.0 s
0.8 %        9.1e+06 s    Elapsed time so far: 8.0 s
0.8 %        9.2e+06 s    Elapsed time so far: 8.1 s
0.8 %        9.3e+06 s    Elapsed time so far: 8.1 s
0.8 %        9.5e+06 s    Elapsed time so far: 8.1 s
0.8 %        9.6e+06 s    Elapsed time so far: 8.2 s
0.8 %        9.7e+06 s    Elapsed time so far: 8.2 s
0.8 %        9.8e+06 s    Elapsed time so far: 8.2 s
0.9 %        9.9e+06 s    Elapsed time so far: 8.2 s
0.9 %        1.0e+07 s    Elapsed time so far: 8.3 s
0.9 %        1.0e+07 s    Elapsed time so far: 8.3 s
0.9 %        1.0e+07 s    Elapsed time so far: 8.3 s
0.9 %        1.0e+07 s    Elapsed time so far: 8.3 s
0.9 %        1.1e+07 s    Elapsed time so far: 8.4 s
0.9 %        1.1e+07 s    Elapsed time so far: 8.4 s
0.9 %        1.1e+07 s    Elapsed time so far: 8.4 s
0.9 %        1.1e+07 s    Elapsed time so far: 8.5 s
1.0 %        1.1e+07 s    Elapsed time so far: 8.5 s
1.0 %        1.1e+07 s    Elapsed time so far: 8.5 s
1.0 %        1.1e+07 s    Elapsed time so far: 8.5 s
1.0 %        1.1e+07 s    Elapsed time so far: 8.6 s
1.0 %        1.2e+07 s    Elapsed time so far: 8.6 s
1.0 %        1.2e+07 s    Elapsed time so far: 8.6 s
1.0 %        1.2e+07 s    Elapsed time so far: 8.7 s
1.0 %        1.2e+07 s    Elapsed time so far: 8.7 s
1.1 %        1.2e+07 s    Elapsed time so far: 8.7 s
1.1 %        1.2e+07 s    Elapsed time so far: 8.7 s
1.1 %        1.2e+07 s    Elapsed time so far: 8.8 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.8 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.8 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.8 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.9 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.9 s
1.1 %        1.3e+07 s    Elapsed time so far: 8.9 s
1.1 %        1.3e+07 s    Elapsed time so far: 9.0 s
1.2 %        1.3e+07 s    Elapsed time so far: 9.0 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.0 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.0 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.1 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.1 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.1 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.1 s
1.2 %        1.4e+07 s    Elapsed time so far: 9.2 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.2 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.2 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.2 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.3 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.3 s
1.3 %        1.5e+07 s    Elapsed time so far: 9.3 s
1.3 %        1.6e+07 s    Elapsed time so far: 9.4 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.4 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.4 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.4 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.5 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.5 s
1.4 %        1.6e+07 s    Elapsed time so far: 9.5 s
1.4 %        1.7e+07 s    Elapsed time so far: 9.5 s
1.4 %        1.7e+07 s    Elapsed time so far: 9.6 s
1.5 %        1.7e+07 s    Elapsed time so far: 9.6 s
1.5 %        1.7e+07 s    Elapsed time so far: 9.6 s
1.5 %        1.7e+07 s    Elapsed time so far: 9.7 s
1.5 %        1.7e+07 s    Elapsed time so far: 9.7 s
1.5 %        1.8e+07 s    Elapsed time so far: 9.7 s
1.5 %        1.8e+07 s    Elapsed time so far: 9.7 s
1.6 %        1.8e+07 s    Elapsed time so far: 9.8 s
1.6 %        1.8e+07 s    Elapsed time so far: 9.8 s
1.6 %        1.8e+07 s    Elapsed time so far: 9.8 s
1.6 %        1.8e+07 s    Elapsed time so far: 9.9 s
1.6 %        1.9e+07 s    Elapsed time so far: 9.9 s
1.6 %        1.9e+07 s    Elapsed time so far: 9.9 s
1.6 %        1.9e+07 s    Elapsed time so far: 9.9 s
1.6 %        1.9e+07 s    Elapsed time so far: 10.0 s
1.7 %        1.9e+07 s    Elapsed time so far: 10.0 s
1.7 %        1.9e+07 s    Elapsed time so far: 10.0 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.0 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.1 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.1 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.1 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.2 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.3 s
1.7 %        2.0e+07 s    Elapsed time so far: 10.3 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.3 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.3 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.3 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.0e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.4 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.5 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.6 s
1.8 %        2.1e+07 s    Elapsed time so far: 10.6 s
1.9 %        2.1e+07 s    Elapsed time so far: 10.6 s
1.9 %        2.2e+07 s    Elapsed time so far: 10.6 s
1.9 %        2.2e+07 s    Elapsed time so far: 10.6 s
1.9 %        2.2e+07 s    Elapsed time so far: 10.7 s
1.9 %        2.2e+07 s    Elapsed time so far: 10.7 s
1.9 %        2.2e+07 s    Elapsed time so far: 10.7 s
1.9 %        2.3e+07 s    Elapsed time so far: 10.7 s
2.0 %        2.3e+07 s    Elapsed time so far: 10.7 s
2.0 %        2.3e+07 s    Elapsed time so far: 10.7 s
2.0 %        2.3e+07 s    Elapsed time so far: 10.8 s
2.1 %        2.4e+07 s    Elapsed time so far: 10.8 s
2.1 %        2.4e+07 s    Elapsed time so far: 10.8 s
2.1 %        2.5e+07 s    Elapsed time so far: 10.8 s
2.2 %        2.5e+07 s    Elapsed time so far: 10.8 s
2.2 %        2.6e+07 s    Elapsed time so far: 10.8 s
2.3 %        2.6e+07 s    Elapsed time so far: 10.9 s
2.3 %        2.7e+07 s    Elapsed time so far: 10.9 s
2.4 %        2.8e+07 s    Elapsed time so far: 10.9 s
2.5 %        2.8e+07 s    Elapsed time so far: 10.9 s
2.5 %        2.9e+07 s    Elapsed time so far: 10.9 s
2.6 %        3.0e+07 s    Elapsed time so far: 10.9 s
2.7 %        3.1e+07 s    Elapsed time so far: 11.0 s
2.8 %        3.2e+07 s    Elapsed time so far: 11.0 s
2.9 %        3.4e+07 s    Elapsed time so far: 11.0 s
3.0 %        3.5e+07 s    Elapsed time so far: 11.0 s
3.1 %        3.6e+07 s    Elapsed time so far: 11.0 s
3.3 %        3.8e+07 s    Elapsed time so far: 11.0 s
3.5 %        4.0e+07 s    Elapsed time so far: 11.1 s
3.6 %        4.2e+07 s    Elapsed time so far: 11.1 s
3.8 %        4.4e+07 s    Elapsed time so far: 11.1 s
4.0 %        4.7e+07 s    Elapsed time so far: 11.1 s
4.3 %        4.9e+07 s    Elapsed time so far: 11.1 s
4.5 %        5.2e+07 s    Elapsed time so far: 11.1 s
4.8 %        5.5e+07 s    Elapsed time so far: 11.2 s
5.1 %        5.9e+07 s    Elapsed time so far: 11.2 s
5.4 %        6.3e+07 s    Elapsed time so far: 11.2 s
5.8 %        6.7e+07 s    Elapsed time so far: 11.2 s
6.2 %        7.2e+07 s    Elapsed time so far: 11.2 s
6.7 %        7.7e+07 s    Elapsed time so far: 11.2 s
7.2 %        8.3e+07 s    Elapsed time so far: 11.2 s
7.7 %        8.9e+07 s    Elapsed time so far: 11.3 s
8.3 %        9.6e+07 s    Elapsed time so far: 11.3 s
9.0 %        1.0e+08 s    Elapsed time so far: 11.3 s
9.7 %        1.1e+08 s    Elapsed time so far: 11.3 s
10.5 %        1.2e+08 s    Elapsed time so far: 11.3 s
11.4 %        1.3e+08 s    Elapsed time so far: 11.4 s
12.3 %        1.4e+08 s    Elapsed time so far: 11.4 s
13.4 %        1.5e+08 s    Elapsed time so far: 11.4 s
14.6 %        1.7e+08 s    Elapsed time so far: 11.4 s
15.8 %        1.8e+08 s    Elapsed time so far: 11.4 s
17.2 %        2.0e+08 s    Elapsed time so far: 11.4 s
18.8 %        2.2e+08 s    Elapsed time so far: 11.5 s
20.5 %        2.4e+08 s    Elapsed time so far: 11.5 s
22.4 %        2.6e+08 s    Elapsed time so far: 11.5 s
24.5 %        2.8e+08 s    Elapsed time so far: 11.5 s
26.7 %        3.1e+08 s    Elapsed time so far: 11.5 s
29.2 %        3.4e+08 s    Elapsed time so far: 11.5 s
32.0 %        3.7e+08 s    Elapsed time so far: 11.6 s
34.5 %        4.0e+08 s    Elapsed time so far: 11.6 s
37.2 %        4.3e+08 s    Elapsed time so far: 11.6 s
40.2 %        4.7e+08 s    Elapsed time so far: 11.6 s
43.6 %        5.0e+08 s    Elapsed time so far: 11.6 s
47.2 %        5.5e+08 s    Elapsed time so far: 11.6 s
51.2 %        5.9e+08 s    Elapsed time so far: 11.7 s
55.7 %        6.4e+08 s    Elapsed time so far: 11.7 s
60.5 %        7.0e+08 s    Elapsed time so far: 11.7 s
65.9 %        7.6e+08 s    Elapsed time so far: 11.7 s
67.2 %        7.8e+08 s    Elapsed time so far: 11.7 s
68.7 %        7.9e+08 s    Elapsed time so far: 11.8 s
70.4 %        8.1e+08 s    Elapsed time so far: 11.8 s
72.2 %        8.3e+08 s    Elapsed time so far: 11.8 s
74.2 %        8.6e+08 s    Elapsed time so far: 11.8 s
76.4 %        8.8e+08 s    Elapsed time so far: 11.8 s
78.8 %        9.1e+08 s    Elapsed time so far: 11.8 s
81.4 %        9.4e+08 s    Elapsed time so far: 11.9 s
84.3 %        9.7e+08 s    Elapsed time so far: 11.9 s
87.5 %        1.0e+09 s    Elapsed time so far: 11.9 s
91.0 %        1.1e+09 s    Elapsed time so far: 11.9 s
94.9 %        1.1e+09 s    Elapsed time so far: 11.9 s
99.2 %        1.1e+09 s    Elapsed time so far: 11.9 s
100.0 %        1.2e+09 s    Elapsed time so far: 12.0 s

Results#

We can plot the total inventory as a function of time. After the exposure, the inventory decreases as a geometric law expected from the 12 years half-life of tritium.

import matplotlib.pyplot as plt

time = np.array(derived_quantities[0].t)
retention = derived_quantities[0].data

solute = derived_quantities[1].data
trapped = derived_quantities[2].data
one_year = 365 * 24 * 3600
plt.plot(time / one_year, retention)
plt.xlabel("Time (years)")
plt.ylabel("Inventory (T/m$^{2}$)")
Text(0, 0.5, 'Inventory (T/m$^{2}$)')
../_images/03fc258d88333860ca5f8c3bdcae32facc29ef6b3731abc3be128a5def5043b7.png

By plotting the retention profiles, we also observe the decrease of the tritium concentration.

data = np.genfromtxt("task11/profiles.txt", delimiter=",", names=True)

for time in my_model.exports[1].times:
    name = f"t={time:.2e}s"
    name_clean = name.translate(str.maketrans("", "", "+.="))
    plt.plot(data["x"], data[name_clean], label=f"t = {time/one_year:.2f} y")

plt.legend()
plt.xlim(0, 5e-5)
plt.xlabel("x (m)")
plt.ylabel("Retention (T m$^{-3}$)")
Text(0, 0.5, 'Retention (T m$^{-3}$)')
../_images/1e85cd1f4272a255ed145095141574b3831b398d1bab3be157d54694a80288d8.png