Validation/Conjugate heat transfer
Heat crossing a solid–fluid interface
Neither check needs a reference table. If both regions start at one temperature nothing may move; and with no heat source anywhere, no temperature may leave the range its own data started in.
Why this case
Conjugate heat transfer is a fluid and a solid solved together, exchanging heat across a shared wall. There is no closed-form answer for the geometry the product ships — but there are two statements that are exactly true of any such problem, and neither has a constant in it to argue about.
- Isothermal invariance. If everything — both regions, every boundary — starts at one temperature, it must stay there, for ever. There is nothing to drive a change. Any drift is the coupled interface manufacturing heat.
- The maximum principle. With the solid started hot and the fluid cold, and no source anywhere, no temperature in either region may leave the interval between the two starting values. That is a theorem about the heat equation, not a modelling assumption, and it holds at every instant on every mesh.
Together they cover the two ways a conjugate coupling fails: doing something when it should do nothing, and doing too much when it should do something. A third check covers the way this one actually failed, which was doing nothing when it should have done something.
| Physics | Conjugate heat transfer, fluid and solid solved together |
|---|---|
| Solver | chtMultiRegionFoam, two regions split from one mesh |
| Geometry | The duct with a solid block in it that the application writes |
| Both regions start at | 293.15 K |
| Case B starts the solid at | 400 K |
| Run to | 0.05 s (last write 0.0474966 s) |
| Agreement | Isothermal case holds to 5.5 × 10⁻⁴ K; heat crosses the interface and nothing leaves its starting interval |
| Last run | 2026-08-27 |
As the application stages it, the duct carries 25.6 m/s at the inlet and is not isothermal — the flow accelerates around the block and the gas cools 2.35 K by expansion. That is compressible flow behaving correctly and it has nothing to say about the interface, so the inlet velocity is set to zero and nothing else is touched. What remains is the conjugate problem on its own.
What this case found
| Run | Fluid side | Solid side | Solid temperature range |
|---|---|---|---|
| Before the fix, 2 s | zeroGradient | zeroGradient | 400.0 – 400.0 K |
| After the fix | compressible::turbulentTemperatureCoupledBaffleMixed | compressible::turbulentTemperatureCoupledBaffleMixed | 399.9928 – 400.0 K |
A coupling that transfers nothing satisfies the maximum principle perfectly, which is exactly how this survived. So the check does not only ask whether the temperatures stayed inside their interval — it asks whether heat actually crossed, and refuses a run in which less than one per cent of the initial difference moved.
Result
| Case | Region | Minimum (K) | Maximum (K) | Samples |
|---|---|---|---|---|
| A — isothermal | Solid | 293.15000 | 293.15000 | 64 |
| A — isothermal | Fluid | 293.14945 | 293.14998 | 576 |
| B — solid at 400 K | Solid | 399.99280 | 400.00000 | 64 |
| B — solid at 400 K | Fluid | 293.12178 | 312.82965 | 576 |
In the isothermal case the solid is unchanged to every digit written and the fluid holds to 5.5 × 10⁻⁴ K of where it started, against the 0.01 K the check allows. The residual fluid motion is 2.2455 × 10⁻⁵ m/s — the flow has been stopped, and it stays stopped.
In the gradient case the fluid rises from 293.15 K to 312.82965 K in 0.0475 s while the solid falls to 399.9928 K. Heat crosses, in the right direction, and neither region exceeds 400 K.
What the check now catches
Three things, in this order, because the first makes the other two meaningful:
- The interface condition the solver resolved, read from the written field rather than from the deck. A run whose interface came back as
zeroGradienton either side is rejected before any temperature is examined. - Isothermal invariance, to 0.01 K in both regions. Any drift here is the coupling manufacturing heat — an area weighting that does not match on the two sides, or a sign, produces exactly this and produces it immediately.
- The maximum principle, and the exchange it implies. Nothing may leave the starting interval by more than 0.1 K, and at least one per cent of the initial difference must have crossed. The second half of that is the part the defect would have failed; the first half it passed perfectly.
Repeat this yourself
Every case here is set up from the worked examples in the product, with no hand-editing of solver files — so you can run it, and get the same numbers. The free tier runs real cases up to 250,000 cells of fluids, or 100,000 nodes of solid, with no account needed to download and no time limit.
Other cases
- Natural convection in a heated cavityThe only case here where the flow is caused by the temperature field rather than imposed on it — and the one that showed “converged” is a claim about residuals.
- A heated cavity without the Boussinesq approximationThe same cavity as the Boussinesq case, through the solver that does not make that approximation — which is how you find out what the approximation was worth.
All validation cases · Written by the team building SHD Sim.