Skip to content

Include section on how to model isotopic exchange reactions at the surface #112

@jhdark

Description

@jhdark

Exchange Reactions

Certain isotopic exchange processes can also be approximated, e.g.:

$$\mathrm{T + H_2} \rightleftharpoons \mathrm{H} + \mathrm{HT}$$

If the $\mathrm{H}_2$ concentration is assumed much larger than $\mathrm{HT}$, this reduces to a first-order process in $\mathrm{T}$. Such fluxes can be implemented using festim.ParticleFluxBC with user-defined expressions.

import ufl
from festim import (
    Material,
    ParticleFluxBC,
    Species,
    SurfaceSubdomain,
    VolumeSubdomain,
    k_B,
)

boundary = SurfaceSubdomain(id=1)
my_mat = Material(D_0=1, E_D=0.1)
volume = VolumeSubdomain(id=1, material=my_mat)
tritium = Species("tritium")
Kr_0 = 1.0
E_Kr = 0.1


def my_custom_recombination_flux(c, T):
    Kr_0_custom = 1.0
    E_Kr_custom = 0.5  # eV
    h2_conc = 1e25  # assumed constant H2 concentration in

    recombination_flux = (
        -(Kr_0 * ufl.exp(-E_Kr / (k_B * T))) * c**2
        - (Kr_0_custom * ufl.exp(-E_Kr_custom / (k_B * T))) * h2_conc * c
    )
    return recombination_flux


my_custom_flux = ParticleFluxBC(
    value=my_custom_recombination_flux,
    subdomain=boundary,
    species_dependent_value={"c": tritium},
    species=tritium,
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    In review

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions