Matlab script for uncertainty quantification and sensitivity analysis of adsorption equilibrium models

DOI: 10.14469/hpc/10397 Metadata

Created: 2022-04-29 10:16

Last modified: 2022-05-16 16:00

Author: Ronny

License: Creative Commons: Public Domain Dedication 1.0

Funding: (none given)

Description

This repository contains example MATLAB codes relating to the analysis presented in Ward & Pini (2022): “Integrated uncertainty quantification and sensitivity analysis of single component dynamic column breakthrough experiments”. The files herein demonstrate the developed framework as applied to the analysis of adsorption equilibrium models. Bayesian inference is used to calculate the parametric uncertainties in the equilibrium model parameters and the Sobol method is used to ascribe a proportion of the observed model output variability to each of the uncertain parameters. In this example, we apply these techniques to the single-site Langmuir isotherm model for the description of single component adsorption of CO2 onto activated carbon rods. The main file to be run is “SSL_sensitivity_demo.mlx”. This file contains the full workflow and there are paragraphs of text inline relating to the analysis carried out in the associated paper. Running this code will generate all the required plots, including a fitted equilibrium model, parametric distributions for each model parameter, a bar chart of Sobol indices for each model parameter and 95% credibility intervals on the model outputs. Instructions for use are provided within the livescript file itself, as well as in the comments at the beginning of each subfunction file. The equilibrium data analysed here is contained in the file “co2_activated_carbon_isotherm.xlsx”. The function “isotherm.m” calculates the SSL isotherm predictions for specified pairs of pressure and temperature conditions. The function “likelihood.m” calculates the likelihood function. The functions “fit_distribution_skew_normal.m” and “fit_distribution_exponential.m” fit continuous skewed normal and exponential distributions, respectively, to discrete sets of points representing a probability distribution. The function “isotherm_residual.m” calculates the residual sum of squares between a given realisation of the isotherm model and the nominal realisation. The function “tfn.m” calculates the value of Owen’s T-function.

Files

FilenameSizeTypeDescription
co2_activated_carbon_isotherm.xlsx 38KB application/vnd.openxmlformats-officedocument.spreadsheetml.sheet equilibrium experimental adsorption data
SSL_sensitivity_demo.mlx 282KB application/octet-stream main file for uncertainty and sensitivity analysis
MatlabFunctions.zip 0 application/zip Matlab functions
MatlabFunctions.mnpub 0 chemical/x-mnpub Mestrenova signature file for MatlabFunctions.zip
MatlabFunctions.zip 9KB application/zip Matlab functions - version 2
MatlabFunctions.mnpub 0 chemical/x-mnpub Mestrenova signature file for MatlabFunctions.zip

Edit