tensorECool – Dedicated OpenFOAM Template for CHT Electronic Cooling

Introducing the tensorECool Template

The tensorECool template is a highly optimized, production-ready case setup designed specifically for simulating conjugate heat transfer (CHT) and solid-fluid thermal interactions inside an electronic cooling framework. Instead of relying on decoupled thermal resistances that struggle with complex geometric layouts, this template utilizes a multi-region conjugate heat transfer solver to achieve true solid-fluid temperature coupling. It automates the painful, manual setup of multi-region interfaces, localized volumetric heat sources, and parallel processing regions, allowing you to go from a raw geometric configuration to high-fidelity transient or steady-state thermal results in minutes. If you use this specific template for your work, all that is asked is that you mention and give credit to tensorECool in your reports or projects.

How the Fluid and Motion are Arranged

The template sets up a high-performance electronic cooling configuration using a coupled multi-region fluid–solid system. The mesh architecture relies on a specialized blockMesh background grid and snappyHexMesh region splitting to carve out a 10-layer printed circuit board (PCB) and an integrated circuit (IC) chip component inside a forced-convection air tunnel. The fluid physics drive an ambient cooling air stream across the high-power component, forcing localized thermal boundary layers to develop. The system boundary layer physics are resolved using the industrial-standard k-Omega SST turbulence model, ensuring the simulation accurately tracks intense thermal energy dissipation, wake vortex shedding, and turbulent velocity profiles around the component.

How to Run Your First Simulation

Running the simulation is handled through a few simple terminal commands inside your OpenFOAM environment.

  • Mesh Pipeline Script: Run ./buildMesh to automatically generate the background grid, snap to your electronic geometry components, and split the mesh into distinct fluid and solid regions (splitMeshRegions).
  • Coupled Execution Script: Execute ./Run to trigger a serial solver routine if your multi-region mesh and separate 0/ region directories are already prepared.
  • One-Shot Master Script: Run ./Allrun or ./Allrun-parallel to execute both the meshing pipeline and multi-region solving sequences back-to-back without interruption. The parallel pipeline automatically divides the domain across 8 parallel computer processors using a scotch split, runs the CHT solver (chtMultiRegionSimpleFoam or chtMultiRegionFoam) for a complete convergence timeline, and seamlessly merges the split processor data back together once the calculation finishes.
  • Cleanup Script: A master ./Allclean script is available to instantly wipe away generated time folders, split processor chunks, and grid logs while safely preserving your underlying multi-region case parameters.

Adjusting Operating Conditions and Speeds

Changing your basic operational settings is incredibly easy and does not require digging through complex, hidden sub-folders. You can modify target runtime variables by opening a few centralized dictionary files:

  • Cooling Airflow and Fan Speeds: Open fluid/0.orig/U to modify the inlet velocity and volumetric flow rate variables, allowing you to speed up or slow down the forced convection cooling capacity over your virtual board.
  • Component Power Dissipation: Open solid_CHIP/constant/fvOptions (or fvModels) to adjust the absolute volumetric heat source (\(q_{vol}\)) values, representing the thermal wattages generated by your electronic components.
  • Material Thermophysical Properties: Open constant/thermophysicalProperties inside the respective solid or fluid region directories to swap out or customize thermal conductivity (\(k\)), density (\(\rho \)), or specific heat capacity (\(C_{p}\)) for alternative materials like copper, FR4, or silicon.

Changing the 3D Channel Shape

To swap in your own custom enclosure or PCB layout, you modify the input geometry files and region dictionary paths directly. For the automated scripts to direct the physics correctly, you must sync your updates across two specific files:

  • system/snappyHexMeshDict: Represents the physical dimensions and refinement criteria of the fluid domain walls, PCB layers, and heat sinks. If your new design features a larger heat sink or an alternative component layout, expand your geometry definitions and cell refinement tags here.
  • system/topoSetDict: Represents the spatial filtering used to isolate component zones. Ensure that the coordinates precisely mirror your new solid component positions so the mesh splitting routine defines the interface boundaries (turbulentTemperatureCoupledBaffleFx) at the exact solid-fluid contact faces.

If you rename or append new solid components during this process, ensure you update or replicate every matching sub-patch block entry inside the matching region directory (e.g., 0.orig/T, 0.orig/p_rgh) before initiating your run script.

A Quick Warning

Please keep in mind that this template is a development version designed as an un-coded, standard geometric demonstration. This means that advanced features—such as custom on-the-fly automated solar radiation or transient thermal throttling logic—are kept out of the box to maintain strict compatibility across standard ESI OpenFOAM v2406 environments. The accuracy of the final answers depends entirely on your specific setup, boundary adjustments, and grid density calibration, so pt-tensor.com does not take responsibility for the final simulation data. Always validate your engineering results against physical experiment data.


Validation Study:

[1] Thin Electronic Casing Cooling CFD–CHT Simulation: OpenFOAM Validation Study