# Problems on SurfaceReactionBC

**URL:** <https://festim.discourse.group/t/problems-on-surfacereactionbc/173>\
**Category:** User Support\
**Created:** [July 3, 2026, 2:43am UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173 "2026-07-03T02:43:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![xinshen](https://yyz2.discourse-cdn.com/free1/user_avatar/festim.discourse.group/xinshen/32/194_2.png) [@xinshen](https://festim.discourse.group/u/xinshen)\
**Post date:** [July 3, 2026, 2:43am UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173/1 "2026-07-03T02:43:34Z")

</div>

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:

```auto
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!

---

<div class="post-metadata">

**Author:** ![remidm](https://yyz2.discourse-cdn.com/free1/user_avatar/festim.discourse.group/remidm/32/4_2.png) [@remidm](https://festim.discourse.group/u/remidm)\
**Post date:** [July 3, 2026, 6:10pm UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173/2 "2026-07-03T18:10:08Z")

</div>

@xinshen have you tried:

- changing the log level to INFO to have more information? See [this tutorial](https://festim-workshop.readthedocs.io/en/latest/content/misc/troubleshooting.html#log-level). If you see that each timestep solves in 0 iteration that means your absolute tolerance `atol` is too high.
- upgrading to the latest FESTIM release `conda install -c conda-forge festim`

---

<div class="post-metadata">

**Author:** ![xinshen](https://yyz2.discourse-cdn.com/free1/user_avatar/festim.discourse.group/xinshen/32/194_2.png) [@xinshen](https://festim.discourse.group/u/xinshen)\
**Post date:** [July 6, 2026, 1:58am UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173/3 "2026-07-06T01:58:15Z")

</div>

I tried both of them, and the problem has been figured out. Thank you very much!

---

<div class="post-metadata">

**Author:** ![remidm](https://yyz2.discourse-cdn.com/free1/user_avatar/festim.discourse.group/remidm/32/4_2.png) [@remidm](https://festim.discourse.group/u/remidm)\
**Post date:** [July 6, 2026, 12:16pm UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173/4 "2026-07-06T12:16:34Z")

</div>

Awesome! Do you mind sharing it was the solution was?

---

<div class="post-metadata">

**Author:** ![xinshen](https://yyz2.discourse-cdn.com/free1/user_avatar/festim.discourse.group/xinshen/32/194_2.png) [@xinshen](https://festim.discourse.group/u/xinshen)\
**Post date:** [July 7, 2026, 1:04am UTC](https://festim.discourse.group/t/problems-on-surfacereactionbc/173/5 "2026-07-07T01:04:52Z")

</div>

Not at all. The solution is changing the log level to INFO then reduce the `atol`.
