Hi all, I’m trying to use the SurfaceReactionBC in FESTIM v2.0 but the exported files are all zero. I’m confused with it.
Here is the minimal script:
import festim as F
Alumina = F.HydrogenTransportProblem()
import numpy as np
Deuterium = F.Species("D")
Alumina.species = [Deuterium]
Alumina.mesh = F.Mesh1D(np.linspace(0, 1e-3, 100))
from festim import SurfaceSubdomain1D
Alumina_upstream = SurfaceSubdomain1D(id=1,x=0)
Alumina_downstream = SurfaceSubdomain1D(id=2,x=1e-3)
from festim import VolumeSubdomain1D
Al2O3 = F.Material(
D_0=1e-10,
E_D=0.5,
K_S_0=1e20,
E_K_S=0.5
)
Alumina_volume = VolumeSubdomain1D(
id=1,
material=Al2O3,
borders=[0, 1e-3]
)
subdomains = [
Alumina_upstream,
Alumina_downstream,
Alumina_volume
]
Alumina.subdomains = subdomains
Alumina.surface_to_volume = {
Alumina_upstream: Alumina_volume,
}
from festim import SurfaceReactionBC
boundary_condition = SurfaceReactionBC(
reactant=[Deuterium, Deuterium],
gas_pressure=1e5,
k_r0=1e-13,
E_kr=0.1,
k_d0=1,
E_kd=0,
subdomain=Alumina_upstream
)
Alumina.boundary_conditions = [boundary_condition]
Alumina.temperature = 823
Alumina.settings = F.Settings(
atol=1e10,
rtol=1e-10,
final_time=1e3,
)
Alumina.settings.stepsize = F.Stepsize(1)
import os
folder = "Alumina"
os.makedirs(folder, exist_ok=True)
flux_in = F.SurfaceFlux(
field=Deuterium,
surface=Alumina_upstream,
filename=folder + "/flux_in.csv",
)
flux_out = F.SurfaceFlux(
field=Deuterium,
surface=Alumina_downstream,
filename=folder + "/flux_out.csv",
)
Alumina.exports = [flux_in, flux_out]
Alumina.initialise()
Alumina.run()
The exact version I use is FESTIM 2.0b2.
Can anyone help with this problem? Thank you very much for your efforts in advance!