This repository is for developing general and localized corrosion surrogate models that can be integrated into WaterTAP process models.
This work supports our paper:
Tucker, C. I., Amusat, O. O., Atia, A. A., Dudchenko, A. V., Bartholomew, T. V., & Mauter, M. S. (2025). Incorporating corrosion design constraints in desalination process optimization: A case study in mechanical vapor compression. Desalination, 119698. https://doi.org/10.1016/j.desal.2025.119698
- Clone the repository:
git clone https://github.com/we3lab/corrosion_repo.git cd corrosion_repo - Create and activate the conda environment using the provided file:
conda env create -f corrosion_analysis.yml conda activate corrosion_analysis
corrosion_analysis
|- analysis
|- data
|- flowsheets
|- surrogate_fitting
|- paper_figures
analysis: contains scripts using the parameter_sweep tool to run the analyses on the MVC process model that incorporates corrosion design constraints:
mvc_corrosion_sensitivity.py: runs a single parameter sensitivity analysis.mvc_corrosion_sweep.py: contains functions to run the feed-recovery sweep and dissolved oxygen sensitivity.
data: contains scripts for getting data from OLI Corrosion Analyzer via the OLI Cloud API.
oli_corrosion_survey.py: runs the corrosion survey for seawater using the OLI Cloud API to connect to the OLI Corrosion Analyzer.- This requires an OLI license to run.
flowsheets:
mvc_corrosion_flowsheet.py: contains the MVC process model with integrated corrosion surrogate
surrogate_fitting: contains functions to fit the corrosion surrogate models.
fit_surrogates.py: fits generalized and localized corrosion surrogate models using Pysmo and adaptive sampling.
paper_figures: contains scripts to generate the figures in the paper and final results generated using the MVC model.
figures/: final paper figures.plotting_code/: scripts for generating the figures.results/: final results from the analyses used in the figures.
The tutorial demonstrates how to fit surrogate models on synthetic data and integrate them into a WaterTAP MVC process model. To run the tutorial, activate the conda environment and run the Jupyter notebook:
conda activate corrosion_repo
jupyter notebook tutorials/corrosion_surrogates_demo.ipynbIf you use this work, please cite our paper: Tucker, C. I., Amusat, O. O., Atia, A. A., Dudchenko, A. V., Bartholomew, T. V., & Mauter, M. S. (2025). Incorporating corrosion design constraints in desalination process optimization: A case study in mechanical vapor compression. Desalination, 119698.
This work is being conducted as part of the National Alliance for Water Innovation (NAWI) with support through the U.S. Department of Energy’s Advanced Manufacturing Office.