Hello everyone, I'm currently working on the thermal design of a 200W integrated COB LED street light. I need to accurately predict the maximum casing temperature and chip junction temperature using OpenFOAM. The basic model has run successfully, but there are still a few uncertainties. I'd like to ask for help from experts and also share my current setup for reference or correction.
- Physical Model
Solid Domain: Aluminum substrate (MCPCB) + die-cast aluminum heat sink
Fluid Domain: External natural convection air (outdoor environment 35℃)
LED Chip: Simplified as a 120mm×60mm surface heat source, total power 200W, luminous efficiency approximately 55%, i.e., thermal power ≈ 90W
Enable gravity (buoyant flow)
Consider radiative heat transfer (external surface emissivity 0.85, ambient radiation temperature = air temperature)
- Solver and Main Model
Solver: chtMultiRegionFoam (works on v2412/v10)
Turbulence: For airflow, use buoyantSimpleFoam for steady-state processing, then switch to buoyantPimpleFoam for unsteady-state processing (laminar flow was also tested, but the results were about 4–6℃ higher)
Radiation: fvDOM + viewFactor (S60, 60 rays), gray body diffuse assumption
Heat Source: Using The fvOptions function's semiImplicitSource adds a heat flux density of 8.33e4 W/m² to the chip surface.
- Current Results (approximately 8.5 million grid cells):
Highest heatsink temperature ≈ 78℃
Average chip surface temperature ≈ 92℃ → Estimated Ts ≈ 87℃, Tc ≈ 107℃ (based on the manufacturer's stated thermal resistance of 0.22℃/W)
Actual measurement (35℃ environment): Tc ≈ 103–105℃, error +3–5℃, basically acceptable.
- Several points of confusion (seeking guidance!):
The viewFactor calculation is very slow (it has been running for 14 hours on S60). Are there any faster radiation models recommended? I tried P1, and the overall temperature was 6–8℃ lower, which seems too large a deviation.
How can the chip-to-MCPCB interface thermal resistance (TIM) be handled more accurately? Currently, a value of 8e-5 m²K/W is used with thinResistance, but it still feels somewhat coarse.
Natural convection inlet boundary: Currently, totalPressure + inletOutlet is used, and inletOutlet + zeroGradient is used for the outlet. Would using pressureInletOutletVelocity be more stable?
Ambient radiation: Is it necessary to include far-field air in the radiation calculation? Currently, only the view factor of the solid surface is calculated, and gray-body radiation is implemented using fixedGradient + externalWallHeatFluxTemperature.
- Case Structure (for reference)
textconstant/
├── regionProperties
├── polyMesh/ (All regions)
├── radiationProperties (fvDOM, greyDiffusiveViewFactorFixedLegendre)
└── thermophysicalProperties.* (Each solid region)
0/
├── T (All regions)
├── p_rgh
└── fvOptions (Chip heat source)
system/
├── controlDict
├── fvSchemes
├── fvSolution
└── decomposeParDict If there are any experienced developers working on similar LED, automotive headlight, or plant light heat dissipation projects, please feel free to exchange experiences! I'd also be happy to package and share the complete case study (anonymized) with anyone who needs it.
Thank you for your valuable feedback!
Top comments (0)