Skip to content

flash631/bubble-column-reactor

Repository files navigation

Bubble Column Reactor

Benchmark-aligned OpenFOAM workflow for screening, validating, and extending CFD-PBM bubble-column models in a low-superficial-gas rectangular reactor.

Abstract

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.

What The Project Does

  • 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.

How It Works

  1. scripts/bootstrap.sh prepares the reusable project layout and baseline tutorial-derived inputs.
  2. scripts/run_lowfi.sh generates and runs benchmark-aligned low-fidelity or continuation cases from cases/lowfi/base.
  3. Specialized continuation scripts in scripts/ explore PBM-inspired, distributor-aware, and transport-side variants.
  4. Postprocessing scripts compute validation metrics, direct-profile errors, uncertainty-aware scores, and comparison summaries.
  5. python scripts/generate_figures.py and python scripts/generate_tables.py rebuild the project visuals from machine-readable outputs.

Methodology

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.

URCAPA workflow schematic

Figure 1. Audit-first URCAPA workflow used to screen, validate, and retain candidate bubble-column models.

Repository Layout

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

Main Hydrodynamic Results

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

Model ladder summary

Figure 2. Model ladder summarizing the retained evidence chain and screened continuation logic.

Gas holdup profile comparison Liquid velocity profile comparison

Figure 3. Direct comparison against Sommer benchmark gas-holdup and liquid-velocity profiles.

Transport-Side Results

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-1W reached a final mean dissolved-oxygen concentration of 0.174 mol m^-3 with a terminal uptake fraction of 0.675.
  • DOX-CPL ended with a mean gas-side oxygen mass fraction of 6.519e-3 and an oxygen mass-balance closure fraction of 0.9995, which keeps it in the negative-results ledger.

Transport summary

Figure 4. Summary of the near-coupled dissolved-oxygen transport continuation and its sectionwise diagnostics.

Current Limitations

  • 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.

Gas profile coverage diagnostic Bulk bias decomposition

Figure 5. Diagnostics showing the retained branch’s weak gas-profile coverage and persistent bulk-bias structure.

Future Work

  • Implement one benchmark-mappable grouped or fixed-pivot transport-capable pilot that stays locally auditable.
  • Carry the bounded PACFFC logic 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.

Reproducing The Workflow

  1. Prepare OpenFOAM 13 and a Python environment, then install the Python dependencies with pip install -r requirements.txt.
  2. Run bash scripts/bootstrap.sh to initialize the reusable project layout.
  3. Use bash scripts/run_lowfi.sh for the baseline and screened hydrodynamic branches.
  4. Use the continuation scripts in scripts/ for PBM-inspired, distributor-aware, or transport-side studies.
  5. Rebuild project figures and tables from the machine-readable outputs with:
python scripts/generate_figures.py
python scripts/generate_tables.py

Notes

  • 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors