Authors: Jialu Wang, Ryan Hughes, Debangsu Bhattacharrya, Alexander Dowling
The following instructions assume you have anaconda installed. We suggest create an environment with the following commands to run code:
- create new environment, called for e.g.
rotary
, withconda
conda create --name rotary python==3.8
conda activate rotary
- this step is necessary for running
homotopy
solve for the model
pip install idaes-pse
idaes get-extensions
- install from the following branch for a modified version of
Pyomo
:
pip install git+https://github.com/jialuw96/pyomo.git@RPB_MBDOE
-
this is needed only for the draw_figure.ipynb notebook
conda install jupyter notebook
Python
: 3.8
IDAES-PSE
: 2.2.0
Pyomo
: 6.7.0 dev 0
-
RPB_model_cocurrent.py
: Co-current flow RPB model provided by Ryan, modified for runningk_aug
-
Cocurrent_flow_MBDoE.ipynb
: ApplyPyomo.DoE
to the RPB model withcompute_FIM
andrun_grid_search
.stochastic_program
is also tried but not debugged
-
RPB_model_countercurrent_kaug.py
: Conter-current flow RPB model provided by Ryan, modified for runningk_aug
-
Countercurrent_MBDoE.ipynb
: MBDoE analysis applyingPyomo.DoE
andk_aug
to the RPB model withcompute_FIM
andrun_grid_search
.stochastic_program
is also tried but not debugged -
Counterflow_MO_data_process.ipynb
: Process the sensitivity data for MO analysis -
Counterflow_Jacobian_process.ipynb
: Reformulate the data structure for MO analysis -
countercurrent_MO.py
: Measurement optimization analysis to the RPB model -
counterflow_finite_difference_analysis.ipynb
: MBDoE analysis to the RPB model with finite difference method, not usingPyomo.DoE
-
draw_figure.ipynb
: Generates all results figures in the manuscript
-
Cocurrent_results/MO_results
: folder, contains the MO results at different budgets. For e.g., Sep17_2000_a means budget=2000, optimized with A-optimality -
Cocurrent_results/MBDoE_results
: folder, contains the process models ran with different variables. For e.g., Nov25_368_388 means ads.T = 368K, des.T=388K -
Countercurrent_results/MO_MILP_solution
: folder, contains the MO results at different budgets. For e.g., updated_2000 means budget=2000, optimized with A-optimality -
Countercurrent_results/MBDoE_results/MBDOE_sens
: folder, contained the process models ran with different variables. For e.g., .Tgin_des_391/Tgin_ads_368 means ads.T = 368K, des.T=391K
Model code and how to run them are provided by Ryan Hughes in Ryan-Hughes-8/fixed_bed_adsorption
repository:
Co-current flow model: https://github.com/Ryan-Hughes-8/fixed_bed_adsorption
Counter-current flow model: https://github.com/Ryan-Hughes-8/fixed_bed_adsorption/tree/counter-current-configuration
The rerun instructions are for counter-current flow model, which is the model we use for the paper / thesis results.
- Run
Counterflow_MO_data_process.ipynb
to generate all the sensitivity data
- Run
Counterflow_Jacobian_process.ipynb
to organize the sensitivity data to .csv files that MO code use
- In
Countercurrent_MO.py
, find the toggles in line 17 - 27 - Choose mixed-integer option by
mip_option
- Choose objective by
objective
- Choose budget set. It is default to be the budget ranges we use for the paper, from 2000 to 10000
Countercurrent_MBDoE.ipynb
: MBDoE analysis applyingPyomo.DoE
andk_aug
to the RPB model withcompute_FIM
andrun_grid_search
Counterflow-finite-difference-analysis.ipynb
: MBDoE analysis applying finite difference method to the RPB model. It runs the grid search, and generates the thesis results.
draw_figures.ipynb
: include the functions and the path of results to reproduce Fig. 4.2, 4.3, 4.4, 4.5 in the Chapter 4 of Jialu's thesis.