Skip to content

About

Reproducible OpenFOAM CHT study of an 8-PCB electronics enclosure, with fan-cooling, conservation audits, grid checks, and honest validation limits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Electronics Enclosure Air-Cooling CFD

validate-public-evidence MIT Data: CC BY 4.0

中文说明见 README.zh-CN.md.

This project builds an OpenFOAM conjugate heat-transfer model for eight heat-generating PCBs inside a 300 x 300 x 400 mm outdoor electronics enclosure. It reproduces the public setup of Wankhede et al. (2007), audits fan-assisted and sealed cooling assumptions, and separates numerical stability from external validation.

Enclosure, eight PCBs, and fan-source region

What I did

Stage Input Work performed Output
Reconstruct Paper dimensions, 8 x 12.5 W PCBs, no-solar reference cases Built air and solid PCB regions with coupled temperature/heat-flux interfaces Parametric OpenFOAM 13 case generator
Model cooling Ambient wall heat rejection and internal-fan information Implemented external convection/radiation routes and momentum/pressure-jump/fan-curve workflows Reusable boundary and source ledger
Solve and extract Generated multi-region cases Computed PCB average/max/p99 temperatures, air temperature, mass balance and heat balance Compact result CSVs and field evidence
Verify Same-physics mesh family and solver-progress checkpoints Compared extra and ultra meshes with mature-window mean/peak statistics 18 declared grid checks
Benchmark Digitized Wankhede Fig. 5 targets Recomputed every reference error and preserved failed long-run comparisons Honest evidence boundary instead of a tuned single checkpoint

The paper values are comparison targets, not inputs to the field solution. Several early calibration points were explored, but the public conclusion uses the later stability and grid audits as well; it does not select only the saved coordinate that happens to agree best.

Main engineering finding

Evidence Result Status
Fan-assisted baseline at solver coordinate 2000 1.56% composite reference error passes 5% pilot gate
Same baseline at 3000 2.88% passes 5% pilot gate
Same baseline at 4000 5.91% fails; early agreement is not durable closure
Baseline 4000 energy residual 2.19% of source internal ledger passes 5% gate
Extra→ultra grid pair, mature-window means and peaks all 18 checks within 1°C numerical-insensitivity gate passes for declared window statistics
Ultra mesh at 13000 versus the same literature target 11.86% composite error external reproduction remains open

This is the point of the project: numerical grid stability and external truth are different questions. The mature-window mesh result supports an L3-style numerical-insensitivity statement for the declared statistics. It does not turn the 11.86% literature mismatch into validation.

Recomputed reference history

Recomputed mature-window grid gate

Evidence level

  • L0: case generation and public replay are reproducible.
  • L1: target histories and solver artifacts were inspected; the compact public package publishes selected checkpoints rather than all 68 GB of raw cases.
  • L2: the public 4000-coordinate baseline ledger passes its declared energy and mass gates.
  • L3 with a window caveat: extra→ultra mature-window mean and peak metrics are within 1°C. Instantaneous hotspot values still oscillate.
  • L4 not closed: early literature agreement does not persist at the later ultra-mesh state.
  • L5 not claimed: no matched enclosure experiment, measured installed fan curve, or production input set is available.

Allowed use: workflow reproduction, numerical-method review, guarded screening, relative comparison, and planning the next physical tests. Forbidden use: product certification, warranty limits, or an absolute hotspot guarantee.

Reliability ladder and current claim boundary

Reproduce the public evidence in 60 seconds

No OpenFOAM installation is needed for this path.

git clone https://github.com/lordkunkun/electronics-enclosure-cooling-cfd.git
cd electronics-enclosure-cooling-cfd
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python scripts/validate_public_evidence.py
python scripts/plot_public_results.py
python -m unittest discover -s tests -v

The validator does not trust stored status columns. It recomputes:

  • literature errors and composite errors;
  • the 5% external-reference gate;
  • all extra→ultra mean/peak grid deltas;
  • the 1°C numerical-insensitivity gate;
  • energy-residual percentage and mass-balance status.

Generate an OpenFOAM case without solving

The case generator uses only the Python standard library:

python scripts/generate_openfoam_cht_case.py \
  --case public_baseline \
  --mesh medium \
  --end-time 4000 \
  --h-wall 20 \
  --fan-accel 5 \
  --pcb-power-total 100 \
  --case-root 03_cases \
  --overwrite

This writes a complete multi-region case under 03_cases/public_baseline_medium, including mesh dictionaries, fluid/PCB regions, sources, boundary conditions, solver settings, and Allrun.

Full OpenFOAM rerun

Install and source OpenFOAM 13, then run:

source /path/to/OpenFOAM-13/etc/bashrc

python scripts/generate_openfoam_cht_case.py \
  --case public_baseline \
  --mesh medium \
  --end-time 4000 \
  --h-wall 20 \
  --fan-accel 5 \
  --pcb-power-total 100 \
  --case-root 03_cases \
  --overwrite

scripts/run_openfoam_cht_case_parallel.sh \
  03_cases/public_baseline_medium \
  public_baseline \
  4000 \
  16

The current formulation uses ddtSchemes/default = steadyState. OpenFOAM still writes numbered time directories, but this repository calls those numbers solver-progress coordinates, not physical transient time. Consequently, the checkpoint comparison is a convergence/protocol audit—not a physical time-step-independence study.

Detailed instructions: OpenFOAM reproduction guide.

Model at a glance

Item Public baseline
Enclosure 0.30 x 0.30 x 0.40 m
PCBs 8 slabs, each 0.240 x 0.180 x 0.003 m
Total heat 100 W
Ambient 298.15 K
External convection coefficient 20 W/m2/K, calibrated screening assumption
PCB effective conductivity 0.5 W/m/K
Fan baseline equivalent momentum source, scale 5 m/s2
Finest public numerical pair 2.92M and 4.56M cells

Boundary and source ledger

The momentum source is a screening surrogate. A measured installed fan P–Q curve and enclosure system-resistance curve are still required before fan physics can support production decisions.

Repository map

configs/             frozen public case and claim scope
data/                targets, histories, mesh/window checks, ledgers, statuses
scripts/             case generation, execution, extraction, comparison, plots
tests/               evidence and case-generator regression tests
figures/             model diagrams, field evidence, regenerated result plots
docs/                methodology, validation, limitations, full rerun guide
.github/workflows/   automatic public-evidence validation

Recommended reading order: this README → methodology → validation logic → limitations → full rerun. Column definitions and artifact provenance are listed in the data map and the figure map.

What is intentionally excluded

The research workspace contains about 68 GB, including 65 GB of OpenFOAM case directories and 3 GB of audit intermediates. Those files are not suitable for a clean GitHub repository. This public package keeps the generator, compact results, validation logic, selected figures, and provenance needed to audit the conclusion. Users can regenerate full solver fields locally.

Related project

The separate Zig-Zag Serpentine Cold Plate CFD Reproduction uses ANSYS Fluent to study liquid cooling and benchmark pressure drop/maximum temperature. It is a different project, not another version of this enclosure.

Citation and licenses

Code: MIT. Local data and figures: CC BY 4.0. Citation metadata: CITATION.cff.

Benchmark: M. Wankhede, V. Khaire, A. Goswami, and S. D. Mahajan, “Evaluation of Cooling Solutions for Outdoor Electronics,” THERMINIC 2007, https://arxiv.org/abs/0801.1043.

About

Reproducible OpenFOAM CHT study of an 8-PCB electronics enclosure, with fan-cooling, conservation audits, grid checks, and honest validation limits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages