Model, verification suite and reproduction scripts for the manuscript "Verification and Operating-Domain Screening of Dynamic Pressure Swing Adsorption Models: Detecting Silent Failure in CO₂/N₂ Separation"
Description
Model, verification suite and reproduction scripts for the manuscript "Verification and Operating-Domain Screening of Dynamic Pressure Swing Adsorption Models: Detecting Silent Failure in CO₂/N₂ Separation" Everything reported here is reproducible with four commands: python test_model.py — the 41-check verification suite, including one regression test per defect class and three checks on the flux accounting itself. python reproduce.py --all — every performance number in Tables 10, 13, 14, 18 and 19, written to results_master.json together with its convergence evidence; python reproduce.py --check compares the stored results against the values printed in this paper. python revision_runs.py R1 R2 R2b R3 R4 R5 R5b R6 and python gridstudy.py, python mms.py, python toth_fit.py, python css_limit.py, python cycle_balance.py — the diagnostics behind Tables 6, 9, 11, 12, 15, 16, 17, 19 and S3–S6. python figdata.py profiles && python figdata.py sweep && python figdata.py css && python makefigs.py — Figures 1–5 from the stored run data. Environment: Python 3.12 with NumPy 2.4.4, SciPy 1.17.1 and Matplotlib 3.10.8, specified in environment.yml. Wall-clock times quoted in Table 11 were measured single-threaded on an x86-64 Linux machine; the full set of runs behind Tables 10–19 and Figures 1–5 takes approximately one hour on that hardware. The release deliberately retains the pre-audit version of the model as a separate module. Roughly half of the verification suite consists of regression tests that compare the corrected implementation against it term by term, and the seven-flow-mode numerical equivalence reported in Section 7.1 cannot be reproduced without it. The repository also contains a changelog documenting each of the twenty-eight defects, the measurement that exposed it, and the test that now guards against its recurrence.
Files
Steps to reproduce
```bash git clone <REPOSITORY URL> cd psa-verification git checkout v1.0.0 python -m venv .venv && source .venv/bin/activate # or: conda env create -f environment.yml pip install -r requirements.txt ``` Python 3.12, NumPy 2.4.4, SciPy 1.17.1, Matplotlib 3.10.8. No compiled extensions; a single CPU core is sufficient. The full reproduction takes about 25 minutes.
Institutions
- Bursa Uludağ Üni̇versi̇tesi̇Bursa Province, Bursa