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
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
Filename | Size | Type | Description |
---|---|---|---|
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 |