festim-dev / festim-dev/FESTIM

Allow different types of species and reaction at surface

Open
#975 1 comment 0 reactions 0 assignees View on GitHub
enhancement fenicsx
Dominant language
Python
Stars
135
Forks
45
Avg merge
3d 23h
Merged PRs (30d)
14

Description

We would need to support surface reactions of the type:

A + B <-> C + D

Where both sides of the reaction can have gaseous or adsorbed species.

For example

T (ad) + H2O (g) <-> H (ad) + HTO (g)

```python
import festim as F

T = F.Species("T")
H2O = F.GasSpecies("H2O", pressure=lambda t: 1e5 + t)
HTO = F.GasSpecies("HTO", dynamically_computed=True)
H = F.Species("H")

my_reaction = F.SurfaceReactionBC(
reactant=[H2O, T],
product=[HTO, H],
k_r0=1e-6,
E_kr=0.2,
k_d0=1e-6,
E_kd=0.2,
)
```

Assuming both rates $K$ and units are #/m2/s/(#/m-3)/Pa are equal, the fluxes are:

$$
J_T = K c_H P_{HTO} - K c_T P_{H2O}
$$

$$
J_H = K c_T P_{H2O} - K c_H P_{HTO}
$$

The flag `dynamically_computed` could be a way to simulate enclosures as in the [Depleting Source case](https://festim-vv-report.readthedocs.io/en/v1.1/verification/mes/depleting_source.html) where the partial pressure of that species is dynamically computed from the flux. Although we would need additional parameters like surface area, volume of the enclosure, etc

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.