← Back to project catalogue
GP-CH-03AX73IChemicalReady

OpenFOAM static-mixer simulation

A completed OpenFOAM v2606 study of passive-scalar mixing and pressure loss in a simplified two-dimensional alternating-baffle channel.

OpenFOAM static-mixer simulation project visual
GP-CH-03AX73I · Chemical
  • OpenFOAM v2606
  • Python 3
  • Matplotlib

Software compatibility

OpenFOAM v2606 only

Cases are prepared for the OpenCFD OpenFOAM v2606 distribution. No ANSYS Fluent, COMSOL, STAR-CCM+, or OpenFOAM Foundation v14 files are included.

Project definition

Problem statement

Static-mixer elements can improve composition uniformity without moving parts, but every obstruction also adds pressure loss. Both responses depend on geometry, Reynolds number, scalar diffusivity, mesh, numerical scheme, and the outlet metric.

Project objectives

  • Generate an empty channel and alternating-baffle mixer from one controlled geometry path.
  • Solve steady laminar water flow and a bounded non-reacting passive scalar in OpenFOAM v2606.
  • Compare three mesh levels, four baffle heights, and three inlet velocities.
  • Calculate mixing index, coefficient of variation, pressure drop, hydraulic power, nominal space time, and flow mismatch.
  • Retain exact evidence, tests, sourced literature images, and explicit model limitations.

Project structure

Project components

01

Case generator

Writes vertices, one-cell hexahedral blocks, exposed baffle faces, fields, solver dictionaries, and cell metadata from declared parameters.

02

Flow solver

Uses steady laminar simpleFoam with conservative momentum convection and tight pressure and velocity solutions.

03

Scalar solver

Uses scalarTransportFoam with scalar values one and zero at equal upper and lower inlet halves.

04

Evidence extractor

Maps final outlet field values to cells and calculates mixing, pressure, power, space time, and conservation metrics.

05

Verification

Checks eight strict meshes, flow balance, expected trends, mesh dependence, figures, documents, and repository consistency.

Methodology

Project workflow

  1. 01
    Generate

    Python creates one complete native OpenFOAM case from mesh, baffle, and velocity parameters.

  2. 02
    Mesh

    blockMesh builds the two-dimensional channel and checkMesh applies all geometry and topology checks.

  3. 03
    Solve flow

    simpleFoam runs 2,000 steady iterations and records pressure and flux at all inlet and outlet patches.

  4. 04
    Solve scalar

    scalarTransportFoam transports the dimensionless composition field over the converged velocity field.

  5. 05
    Compare

    JSON, CSV, PNG, SVG, tests, and documentation present the reference, mesh, baffle, and velocity responses.

Demonstration scenario

Equal upper and lower inlet halves carry scalar values one and zero through an empty channel and alternating-baffle variants. The student explains mixing uniformity, pressure loss, hydraulic power, flow balance, geometry and velocity effects, and why the mesh response does not establish grid independence.

Engineering

Tools and method

Tools
The project uses OpenFOAM v2606, Python 3, Matplotlib for subject analysis, simulation, and results.
Case format
Native OpenCFD OpenFOAM v2606 dictionaries, fields, generated structured mesh, function objects, and solver logs.
Physics
Single-phase incompressible laminar water flow with constant properties and a non-reacting passive scalar.
Geometry
A 1.2 m by 0.12 m planar channel contains four alternating 0.04 m thick baffles and a 0.01 m empty depth.
Analysis
Python preserves eight raw result records and regenerates the study table, tests, and 17 figures.

Testing

Evaluation

Evaluation measures

  • All eight meshes pass strict checkMesh checks
  • Medium case mixing index 0.854104 and pressure drop 10.615 Pa
  • Empty-channel mixing index 0.024018 compared with 0.854104 for the medium mixer
  • Mixing rises from 0.556898 to 0.935251 as baffle height rises from 50 to 80 mm
  • Pressure drop rises from 2.842 to 18.088 Pa across the same baffle-height comparison
  • Flow mismatch remains below 0.000001 percent in all eight cases
  • Coarse, medium, and fine mixing indices of 0.952124, 0.854104, and 0.833979 show retained mesh dependence
  • Seven automated tests passing

Project boundaries

  • Only OpenCFD OpenFOAM v2606 cases are delivered.
  • The geometry is a simplified two-dimensional alternating-baffle channel, not a three-dimensional commercial helical static mixer.
  • The model uses steady laminar water flow, constant properties, and a passive scalar with fixed diffusivity.
  • Reaction, heat transfer, turbulent dispersion, non-Newtonian behaviour, multiphase flow, particles, and species-dependent properties are excluded.
  • Nominal space time is volume divided by flow and is not a residence-time distribution.
  • The three meshes show material mixing-index changes and do not establish grid independence.
  • No experimental validation is included.
  • The project is academic CFD and not process design, equipment selection, manufacture, pressure rating, performance guarantee, or certification evidence.

Included

  1. 01Eight completed flow and passive-scalar CFD cases
  2. 02An empty reference channel and alternating-baffle mixer variants
  3. 03Fluid meshes with 664, 2,656, and 5,976 cells
  4. 04Baffle heights of 0, 50, 70, and 80 mm
  5. 05Inlet velocities of 0.01, 0.02, and 0.03 m/s
  6. 06Mixing index, scalar variation, pressure loss, hydraulic power, nominal space time, mesh, and flow-balance evidence
  7. 0717 labelled figures in PNG and SVG with eight raw JSON records and a CSV study table
  8. 08Three actual static-mixer literature photographs with source and licence records
  9. 09Complete project files, models, calculations, and analysis material in a private GitHub repository
  10. 1080-page project documentation in PDF and editable Word formats
  11. 119-page setup and usage guide

Project record

No information is collected on this page.

Permanent project ID
GP-CH-03AX73I
Catalogued
22 Aug 2026
Completed
23 Aug 2026
Verified
23 Aug 2026
Demonstration
Included in repository

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.