Code for the publication: Discovering CO Adsorption and Desorption Pathways from Chemical Reaction Neural Network Modeling of Transient Kinetics Spectroscopy
CRNN_Surface is a neural network framework with physically interpretable training parameters to identify reaction pathways in a heterogenous catalytic systems. Fundamental laws of chemical kinetics such as the law of mass action have been incorporated in the architecture of CRNN_Surface, hence, making it physically interpretable.
This work is based on Chemical Reaction Neural Network framework, which embeds the law of mass action directly into the network architecture, making the model parameters physically interpretable.
There are five models proposed in the paper: M1, M2B, M2H, M2S, and M3. For each model, the kinetic parameters and the loss values are reported as the best result from sampling 15 independent parallel runs starting from random initial guesses.
To run the scripts in parallel, GNU Parallel was used.
Each model directory contains two bash scripts:
copy.shto create the 15 samplesrun.shto execute those 15 samples
Run these scripts using:
sh copy.sh
sh run.sh
If you don't want to do a fresh sampling, you can reproduce the reported results in few epochs by setting is_restart flag to true in the training script.
Use Julia v1.6.7, since some packages used in the code are only compatible with this version. You can download older Julia releases here: Julia old releases.
Each directory contains two data files:
on.txtoff.txt
These correspond to the pulsing on and pulsing off phases, respectively. Each file contains data for all temperatures listed in temperature.txt, in the same order. In both on.txt and off.txt, the first column is the time grid, and the last column is the observed absorbance of adsorbed CO. This convention is consistent across all five models.
For all models except M1, the last column corresponds to the combined absorbance contribution from CO adsorbed on hollow and bridge sites. For M1, since there is no distinction in terms of the types of the site, the absorbance values also have no distinction in terms of the type of the sites.
-
Model
M1(single site type):- Column 1: time
- Column 2: coverage of adsorbed CO
- Column 3: coverage of free sites
Att = 0, the values are0and1for Columns 2 and 3, respectively.
-
All other models (
M2B,M2H,M2S,M3) (two site types):- Column 1: time
- Column 2: coverage of CO on hollow sites
- Column 3: coverage of CO on bridge sites
- Column 4: coverage of free sites
Att = 0, the values are0,0, and1for Columns 2–4, respectively.
Since the values of the coverages are unknown at the beginning, they are set to -1 (indicating unknown/missing values).
Absorbance and coverages are related through:
Absorbance = ε × Coverage
Where ε is the extinction coefficient for a given adsorption site, which is a trainable parameter.
The last data point of the pulsing on phase (on.txt) is identical to the first data point of the pulsing off phase (off.txt).
Cite as:
Shukla, Jay, Qu, Xiaohui, Darbari, Zubin, Iloska, Marija, Boscoboinik, J. Anibal, and Wu, Qin. "Discovering CO Adsorption and Desorption Pathways from Chemical Reaction Neural Network Modeling of Transient Kinetics Spectroscopy." The Journal of Physical Chemistry Letters, (2025), 16, 14, 3562–3570.