Benchmark-aligned OpenFOAM workflow for screening, validating, and extending CFD-PBM bubble-column models in a low-superficial-gas rectangular reactor.
This project develops a reproducible CFD workflow for a rectangular air-water bubble column operated in a difficult low-gas-flow regime. The goal is not to claim a final predictive reactor model, but to identify the most defensible hydrodynamic configuration on the available benchmark basis, preserve both positive and negative evidence, and extend the retained hydrodynamics toward transport-relevant interpretation.
The workflow combines Euler-Euler multiphase CFD, reduced-complexity population-balance reasoning, benchmark-mapped validation against Sommer RODARE profile data, and an audit-first scoring logic that separates admissibility, sample sufficiency, direct comparability, and secondary contextual metrics. The retained hydrodynamic answer is the B1 branch, while later continuations are kept as structural confirmation, theory-refresh challengers, or transport-side extensions rather than being overstated as universal improvements.
This GitHub export intentionally excludes run-generated folders, report files, project planning Markdown, and transient outputs. It keeps the reusable source tree, benchmark extraction data, case templates, and a curated set of figures copied from the original project results for documentation.
- Builds reusable OpenFOAM case templates for low-fidelity and higher-fidelity rectangular bubble-column studies.
- Runs validation, screening, and continuation cases with controlled variations in drag, lift, turbulent-dispersion, distributor, and PBM-inspired modeling choices.
- Postprocesses gas holdup, liquid velocity, dynamic signals, and transport quantities into machine-readable comparison metrics.
- Ranks candidate models with an audit-first methodology that prioritizes direct experimental-profile agreement over weaker secondary anchors.
- Extends the retained hydrodynamic branch into dissolved-oxygen transport analyses for reactor-relevant interpretation.
scripts/bootstrap.shprepares the reusable project layout and baseline tutorial-derived inputs.scripts/run_lowfi.shgenerates and runs benchmark-aligned low-fidelity or continuation cases fromcases/lowfi/base.- Specialized continuation scripts in
scripts/explore PBM-inspired, distributor-aware, and transport-side variants. - Postprocessing scripts compute validation metrics, direct-profile errors, uncertainty-aware scores, and comparison summaries.
python scripts/generate_figures.pyandpython scripts/generate_tables.pyrebuild the project visuals from machine-readable outputs.
The scientific workflow is centered on a low-superficial-gas rectangular bubble column benchmark. Direct validation uses gas-holdup and axial-liquid-velocity profiles from the Sommer RODARE dataset, while bulk holdup is treated only as a weaker correlation-level anchor. Candidate models are screened through an uncertainty-aware ladder in which a case must first pass admissibility and sample-sufficiency checks before it can compete on the ranked window.
The retained logic favors transparent evidence over blind optimization. Interphase-force packages, PBM-inspired diameter handling, and distributor/source variations are tested as bounded continuations, not assumed improvements. Transport extensions are then built on the retained hydrodynamic branch to estimate quantities such as apparent and intrinsic kLa, axial-dispersion effects, and oxygen-transfer consistency.
Figure 1. Audit-first URCAPA workflow used to screen, validate, and retain candidate bubble-column models.
| Path | Role |
|---|---|
cases/lowfi/base |
Reusable baseline case template for validation and screened continuations |
cases/highfi/template |
Higher-fidelity template prepared for later promotion studies |
cases/tutorial_base |
Tutorial-derived reference case structure |
config/ |
Study-level YAML configuration files |
scripts/ |
Case-generation, execution, postprocessing, and audit utilities |
src/localContaminationDrag |
Custom local drag model source |
literature/extracted_data |
Benchmark digitizations and provenance-aware extracted reference data |
assets/readme |
Curated figures copied from the original project results for GitHub display |
The retained evidence chain closes on B1, which is the best audited thin-3D hydrodynamic answer on the ranked 10-15 s window. Later branches improved some direct observables, but not enough to replace B1 under the full audited score.
| Case | Role | Audited score | Bulk holdup relative error | Gas-profile IPE | Liquid-velocity IPE | Reading |
|---|---|---|---|---|---|---|
B1 |
Retained hydrodynamic winner | 2.968 | 2.347 | 0.732 | 1.502 | Best overall audited balance on the retained window |
N1 |
Wider thin-3D structural confirmation | 3.023 | 2.537 | 0.714 | 1.412 | Improved both direct profiles, but not enough to beat B1 |
PACFFC |
Primary theory-refresh challenger | 3.340 | 2.475 | 0.700 | 1.255 | Stronger direct observables, still weaker final audited score |
Figure 2. Model ladder summarizing the retained evidence chain and screened continuation logic.
Figure 3. Direct comparison against Sommer benchmark gas-holdup and liquid-velocity profiles.
The strongest positive multiphysics result in the original project remains the one-way dissolved-oxygen route DOSET-1W. The near-coupled DOX-CPL continuation is mechanistically richer, but it remains a negative continuation after the repaired oxygen mass-balance audit.
| Route | Classification | Effective kLa [s-1] |
Intrinsic kLa [s-1] |
Effective / intrinsic ratio | Key interpretation |
|---|---|---|---|---|---|
DOSET-1W |
One-way dissolved-oxygen transport on retained hydrodynamics | 3.778e-3 | 3.868e-3 | 0.974 | Strongest positive transport-side result retained in the project |
DOX-CPL |
Near-coupled dissolved-oxygen continuation on retained hydrodynamics | 1.040e-3 | 1.231e-3 | 0.845 | Mechanistically richer, but fails the oxygen mass-balance audit |
Additional transport-side observations from the retained original results:
DOSET-1Wreached a final mean dissolved-oxygen concentration of0.174 mol m^-3with a terminal uptake fraction of0.675.DOX-CPLended with a mean gas-side oxygen mass fraction of6.519e-3and an oxygen mass-balance closure fraction of0.9995, which keeps it in the negative-results ledger.
Figure 4. Summary of the near-coupled dissolved-oxygen transport continuation and its sectionwise diagnostics.
- Corrected bulk gas holdup remains materially overpredicted in the retained hydrodynamic branch.
- Pointwise gas-profile coverage remains weak; the retained branch has zero pointwise coverage on both audited gas planes.
- The retained winner is still a thin-3D approximation, so spanwise structural uncertainty is not fully closed.
- The project does not claim rigorous mesh or full numerical convergence.
- The strongest transport continuation still depends on frozen hydrodynamics rather than a fully coupled reactive flow solution.
Figure 5. Diagnostics showing the retained branch’s weak gas-profile coverage and persistent bulk-bias structure.
- Implement one benchmark-mappable grouped or fixed-pivot transport-capable pilot that stays locally auditable.
- Carry the bounded
PACFFClogic into a richer structural continuation with better spanwise representation. - Strengthen species coupling beyond frozen-hydrodynamics transport when a stable benchmark-aligned route is available.
- Improve coverage-oriented validation by targeting the persistent gas-profile miss, not only the aggregate score.
- Prepare OpenFOAM 13 and a Python environment, then install the Python dependencies with
pip install -r requirements.txt. - Run
bash scripts/bootstrap.shto initialize the reusable project layout. - Use
bash scripts/run_lowfi.shfor the baseline and screened hydrodynamic branches. - Use the continuation scripts in
scripts/for PBM-inspired, distributor-aware, or transport-side studies. - Rebuild project figures and tables from the machine-readable outputs with:
python scripts/generate_figures.py
python scripts/generate_tables.py- This export keeps only reusable source material plus the curated README assets.
- Report files and prior project Markdown history were intentionally omitted from this GitHub package.
- The figures embedded above were copied from the original project outputs so the repository still communicates the main scientific results without shipping the full generated-result tree.






