Theory manual
The engineering basis of the Thermal Architect engine: what it models, how it solves those models, the correlations and property data it uses, where they apply, what has been verified and validated, and what it does not attempt to model.
- Purpose and scope
- Modelling philosophy
- Model hierarchy and fidelity
- Conventions and terminology
- Thermal network formulation
- Steady-state solution
- Transient solution
- Solver outcomes and what they mean
- Thermal resistance elements
- Convection
- Contact conductance
- Radiation
- Heat pipes and vapour chambers
- Printed circuit boards
- Fluid networks
- Thermal-fluid coupling
- Material and fluid properties
- Correlation transparency
- Correlation register
- Studies: sweeps, optimisation, envelope
- Verification
- Validation
- Uncertainty and sensitivity
- Calibration and hardware correlation
- How much should I trust this result?
- Assumptions
- Known limitations
- When to use CFD, FEA or testing instead
- Modelling guidance
1. Purpose and scope
Thermal Architect is a system-level, reduced-order engineering tool for thermal and thermal-fluid design. It solves:
- lumped-parameter thermal resistance–capacitance (RC) networks, steady and transient;
- printed circuit boards as two-dimensional finite-volume conduction meshes with effective (homogenised) properties, assembled into the same RC network;
- steady, incompressible, one-dimensional fluid networks (pipes, ducts, fittings, pumps, fans, heat exchangers), coupled to the thermal network through component walls.
It answers questions of the form "how hot does this part run, which path limits it, and how sensitive is that to the inputs" for a design described by its conduction paths, convection and radiation to its surroundings, and the coolant that carries heat away. Heat-transfer coefficients come from published correlations for idealised geometries, or are entered by the user. They are never computed from a resolved flow field.
This manual is a theory and engineering-reference document. It is not a user guide. It is written so that an experienced thermal engineer can reproduce or independently check a calculation, and can decide when a result should and should not be relied on.
The manual must not be read as a statement that the engine is validated for any particular application. Section 22 sets out what has and has not been compared with physical measurement.
2. Modelling philosophy
- Reduced order by design. A body is represented by as few isothermal nodes as describe its important gradients. Physics that a lumped network cannot represent, such as flow fields, local hot spots inside a node, or geometric visibility, is either supplied as an input (a coefficient, a view factor) or not modelled. It is not approximated silently.
- Every number has a stated provenance. Each correlation returns its name, source, dimensionless groups and, where the engine checks it, whether those groups lie inside the correlation's range. The checked/unchecked status of each range is listed in the register.
- Refuse rather than guess. Inputs the engine cannot solve meaningfully are refused with an error: compressors and compressible duct flow, unresolved board laminates on import, structurally floating networks, unknown units in an IPC-2581 file.
- Numerical convergence is necessary but not sufficient. A converged answer is a correct solution of the model as built. It says nothing about whether the model represents the hardware (section 25).
3. Model hierarchy and fidelity
The engine's physics sits at four levels of abstraction. Each level inherits the assumptions of the one below it.
| Level | What it is | In Thermal Architect | Dominant error source |
|---|---|---|---|
| 1. Lumped thermal network | Isothermal nodes joined by conductances, with capacitances for transients | Component and boundary nodes; resistance, conductance, conduction and convection links with fixed values | Node granularity (the isothermal-node assumption); the values entered |
| 2. Correlation-based physics | Conductances computed from geometry, material and an empirical or analytical relation, often temperature-dependent | Convection correlations, heat sinks, fins, boiling and condensation, contact, radiation, shape factors, spreading, thin films, TIMs, heat pipes and vapour chambers | Correlation uncertainty (often ±10 % to ±100 %), use outside the correlation's range, idealised geometry |
| 3. Distributed reduced-order models | Spatially discretised sub-models with effective properties | PCB two-plate finite-volume mesh; one-dimensional hydraulic network | Effective-property homogenisation; mixed-mean (one temperature per fluid node) flow description; the 4,000-cell board mesh limit |
| 4. Coupled system model | Thermal and fluid networks solved together | Partitioned steady coupling; quasi-steady re-coupling in transients; the loop frozen at the base design in studies, see section 16 | Coupling simplifications; all of the above |
Thermal Architect is a system-level, reduced-order thermal and thermal-fluid engineering modelling tool. It is not, and does not attempt to be:
- computational fluid dynamics (CFD) of air or liquid, laminar or turbulent;
- three-dimensional conjugate heat transfer;
- detailed finite-element analysis (thermal or structural; it computes no stress or deformation);
- compressible-flow analysis (choking, shocks, compression heating, pressure waves);
- geometry-based or ray-traced radiation analysis (view factors are entered or taken from closed forms; visibility and obstruction are not resolved);
- electromagnetic or electrical analysis of a PCB (nets and copper current are not read; Joule heating in traces is not computed);
- two-phase transient simulation of heat pipes (start-up, dry-out recovery);
- a qualification or certification tool, or a substitute for hardware test.
These exclusions describe the tool's intended level of abstraction. They are not defects. Section 28 describes when a different tool answers the question better.
4. Conventions and terminology
Units
Inputs and results are SI. Temperatures are entered and reported in degrees Celsius and converted to kelvin wherever a relation needs absolute temperature (radiation, gas density, property evaluation, rarefaction). Fluid-network pressures are absolute, in kilopascals at the interface.
Sign conventions
Heat flow through a link is reported positive from its first (source) end to its second (target) end. Mass flow through a fluid component is positive from its source node to its target node. Conductive links are bidirectional: heat flows from the hotter end, and the stored order fixes only the sign of the reported value. Advection links are one-way (section 9). Two-phase devices take the first end as the evaporator by convention and reverse roles if heat flows the other way.
Terminology
These terms are distinct in this manual and should not be used interchangeably.
| Term | Symbol, units | Meaning here |
|---|---|---|
| Thermal resistance | R [K/W] | Temperature difference per unit heat flow across a link, R = ΔT/Q |
| Thermal conductance | G [W/K] | Reciprocal of resistance, G = 1/R. The software interface and code label every link's conductance "UA"; in this manual G is used for a general link conductance. |
| UA | [W/K] | Strictly, an overall heat-transfer coefficient U times an area A. Used here only where a coefficient and an area are meant (convection hA, a heat exchanger's UA). |
| Area-specific resistance | R'' [m²·K/W] | Resistance of unit area: TIMs, contact (1/hjoint), films |
| Heat-transfer coefficient | h [W/(m²·K)] | Surface-averaged unless stated |
| Thermal capacitance (heat capacity of a node) | C [J/K] | Energy stored per kelvin of node temperature. For a single-material node C = m cp. |
| Specific heat capacity | cp [J/(kg·K)] | A material property, not a node property |
| Capacity rate | ṁ cp [W/K] | Enthalpy carried by a stream per kelvin. It has the units of a conductance and appears in the matrix like one, but it is directional and stores no energy. |
Verification and validation
Verification asks whether the equations are solved correctly. It uses analytical solutions, conservation checks, limiting cases, symmetry, mesh and time-step convergence, and independent re-derivation of the implemented equations. Validation asks whether the equations represent physical reality adequately for an intended use. It needs comparison with measurement. This manual uses the two words only in these senses (sections 21 and 22).
Traceability
Every response and report carries the product version and the engine version. The engine version identifies the physics that produced a number: two results computed by different engine versions can differ where the physics between them changed.
5. Thermal network formulation
Nodes
- A component node is an isothermal lumped mass with thermal capacitance Ci [J/K] and a heat load Qi(t) [W]. Its temperature is an unknown. A node with C = 0 is algebraic: in a transient it follows the network with no lag.
- A boundary node has a prescribed temperature (ambient air, a cold wall, a controlled plate). It supplies or absorbs whatever heat the network requires and is equivalent to infinite capacitance.
Energy balance
Conservation of energy at each component node i:
C_i dT_i/dt = Q_i(t) + Σ_j G_ij (T_j − T_i) + Σ_b G_ib (T_b − T_i) + Σ_s G_is (T_s − T_i)with j over linked component nodes, b over linked boundary nodes, and s over external sinks: a coolant stream presented as a conductance to its inlet temperature (section 16). Advection links contribute a one-sided term (section 9). In matrix form, with G the assembled conductance matrix and q the loads plus boundary and sink terms:
steady: G(T) T = q(T) transient: C(T) dT/dt = q(t, T) − G(T) TG is a weighted graph Laplacian of the links plus a diagonal of boundary and sink conductances. For networks without advection it is symmetric. With non-negative conductances and at least one path to a boundary it is a non-singular M-matrix (positive diagonal, non-positive off-diagonal entries, diagonally dominant). This is why a correctly anchored linear network has a unique solution, and why the discrete solution obeys a maximum principle: with no loads, no node is hotter than the hottest boundary. Advection links make G non-symmetric but keep it diagonally dominant.
Capacitance
A node's capacitance is entered directly, or derived as C = m cp(T) from a library material and a mass. In the second case it follows the material's specific heat with temperature (section 7 gives when it is evaluated). Heat pipes and vapour chambers add their envelope and working-fluid capacitance to their end nodes in transients.
Heat loads
A load may be constant, a step, a ramp, a periodic pulse train, a sinusoid or a table. A steady solve freezes every load at t = 0 by default and reports each load's cycle average alongside. It answers "where would this settle if the load held at its t = 0 value", not "what is the cycle-averaged temperature".
Floating groups and anchoring
Before a linear solve the assembled matrix is checked structurally. A row whose diagonal exceeds the sum of its off-diagonal magnitudes (it has a conductance to a boundary, a sink or, in a transient, its own capacitance) anchors everything connected to it. Unknowns not reached from an anchor form a floating group, whose temperature is undetermined, and the solve is refused with a message. The check is applied to the matrix as assembled at that sweep or step, so it also catches a path that a temperature-dependent conductance has reduced to zero.
Numerical conditioning
Networks that mix very large and very small conductances are ill-conditioned. Examples are a near-perfect "bond" link of 106 W/K beside a 10−3 W/K insulation path, or a large-capacitance node with a very short time step. Direct solvers then lose significant digits in proportion to the condition number. Iterative solvers (below) meet their residual tolerance but may carry a larger error in temperature. No condition-number estimate is reported. Where a path is effectively perfect, merge the nodes rather than joining them with an extreme conductance.
6. Steady-state solution
Linear systems
The matrix is always assembled in sparse form. The linear solver depends on size:
- up to 250 unknowns: dense Gaussian elimination with partial pivoting;
- above 250, where SciPy is installed: sparse direct LU factorisation (SuperLU);
- above 250, without SciPy: Jacobi-preconditioned conjugate gradients for symmetric matrices, or Jacobi-preconditioned BiCGSTAB where advection links make the matrix non-symmetric. Iteration stops at a relative residual of 10−10 (measured against the right-hand side), within an iteration cap. A small system that fails to converge falls back to dense elimination; a large one (above 1,500 unknowns) raises an error.
Direct solves are accurate to rounding error amplified by the matrix condition number. The iterative tolerance bounds the residual, not the temperature error. On well-conditioned networks the three paths agree to well below engineering significance.
Non-linear networks: Picard iteration
The conductance matrix depends on temperature when the network contains radiation, contact, correlation-driven convection, heat sinks, boiling, heat pipes, vapour chambers, thin-film stacks, advection with temperature-dependent cp, or any link or capacitance backed by a temperature-dependent material. Such networks are solved by Picard (successive-substitution) sweeps on the conductances:
- Evaluate every link conductance G(Tk) at the current estimate. For radiation this is the secant form in section 12; for two-phase devices it is the secant Q/ΔT.
- Solve the linear system G(Tk) T* = q for the sweep's target T*.
- Update with relaxation factor ω: Tk+1 = Tk + ω(T* − Tk).
- Stop when maxi|T*i − Tki| < 10−6 K (default), or after 60 sweeps (default).
A network with no temperature-dependent element is solved in a single pass.
Convergence safeguards, as implemented
- Global under-relaxation. ω starts at 1. When the step norm grows from one sweep to the next, ω halves, to a floor of 0.1. When sweeps contract again (step below 0.7 of the previous), it recovers by a factor of 1.5, up to 1.
- Conductance damping. For correlation-driven convection and heat-sink links, each sweep's conductance is a weighted geometric mean of the new and previous values. The weight is 1/(1 + m), where m is the local exponent of G ∝ |ΔT|m estimated from the last two evaluations and clipped to [0, 3]. This removes the two-cycle that plain substitution produces for natural convection (m ≈ 0.25 to 1). The same damping is applied to radiation links once sweeps alternate or diverge. At a fixed point the damped and undamped conductances coincide, so the converged answer is unaffected.
- Aitken Δ² extrapolation. When successive step vectors have a steady ratio r (changing by less than 5 % between sweeps, with 0.05 < |r| < 0.95), the remaining geometric series is summed in one step, T += δ·r/(1 − r). Later sweeps must still meet the tolerance, so an extrapolation that overshoots costs extra sweeps but does not change the converged answer.
- Boiling links use the previous sweep's heat flux to evaluate the boiling curve (a lagged evaluation).
What the convergence test measures
The stopping criterion is the change in temperature between successive sweeps. It is not the energy residual. For a geometrically contracting iteration with ratio r, the remaining error is roughly |r/(1 − r)| times the last step. At r = 0.9 that is nine times the step, so a 10−6 K step tolerance still implies a small absolute error. The step is measured to the undamped target, so under-relaxation cannot make the iteration look converged when it is not. Separately, every result carries a node energy balance: the net heat into each node from its load, its links and any external sinks. At a converged steady state the component-node entries should be near zero and the boundary entries carry the heat leaving the model. This balance is the conservation check, and a report should be read with it.
Property evaluation in links
A link's material properties are evaluated at the arithmetic mean of its two end temperatures. For conduction with a conductivity k(T) the exact one-dimensional result uses the integral mean (1/ΔT)∫k dT. The two agree to second order in ΔT. The error is negligible when k varies little across the link and grows with the curvature of k(T) and the size of ΔT. If a link carries a large temperature drop through a strongly temperature-dependent material, divide it into several links. Outside a material's stated temperature range the property is held at its value at the range limit, not extrapolated, and the use is flagged against the link (section 17).
Termination by temperature threshold
If any node temperature exceeds 5,000 °C on three consecutive sweeps, the iteration stops. This is a numerical and physical-validity safeguard, not a proof that no steady state exists. Where a two-phase device is at capacity and the heat beyond it has no other path out, the energy balance genuinely has no bounded solution, and the result says "No steady state" and names the device. Otherwise the result says the solve stopped, and lists the possible causes: a load with no adequate path out, a conductivity or correlation driven far outside its range, an unphysical input (a wrong unit or a missing link), or an iteration that diverged although a bounded solution exists.
Non-convergence
A solve that does not meet the tolerance within the sweep limit is returned marked not converged with the last step size and a note. The result is the last iterate. Read it as an indication of where the solution is, not as the solution. Section 8 distinguishes the possible causes.
Uniqueness
A linear network has exactly one solution. A non-linear network may in principle have more than one, for example with boiling curves, heat-pipe saturation, or strongly non-monotonic conductances. Picard iteration finds one solution, which depends on the starting temperatures. The engine does not search for other solutions. When the outcome matters, solve again from different initial temperatures.
7. Transient solution
Scheme
Transients are integrated by backward (implicit) Euler. For step n → n+1 over [tn, tn+1], Δt = tn+1 − tn:
(C(Tⁿ)/Δt + G(Tⁿ)) Tⁿ⁺¹ = C(Tⁿ) Tⁿ/Δt + q̄ⁿ→ⁿ⁺¹- Time step. Fixed and user-chosen. The run is ⌈duration/Δt⌉ steps, and the last step is shortened to end exactly at the requested duration. At most 200,000 steps are allowed. There is no adaptive step control and no local error estimate.
- Loads. q̄ is each load's exact time-average over the step, so the energy delivered matches the profile even for a pulse shorter than a step. The shape of such a pulse's response is still smeared over the step.
- Conductances and capacitances of non-linear elements are evaluated once per step at the start-of-step temperatures Tn, and the step is solved once. There is no inner iteration to make them consistent with Tn+1. The scheme is therefore a linearly implicit (lagged-coefficient) backward Euler method. It is fully implicit only for linear networks.
- Linear networks (fixed conductances and capacitances): C/Δt + G is factorised once and each step is a back-substitution.
- Initial state. The run starts either from the nodes' entered initial temperatures or from the steady solution at t = 0.
- Two-phase devices. The envelope and charge capacitance of heat pipes and vapour chambers is computed once, at the initial temperatures, and added to the end nodes. The device's capacity limit is applied every step at the lagged temperatures. Start-up, freezing and dry-out recovery are not modelled (section 13).
- Coolant loops are re-solved quasi-steadily during a transient: at the start, and at the start of any step at which a ported wall has moved more than 0.01 K since the last solve. The coolant itself stores no heat (section 16).
Stability is not accuracy
For a linear network, backward Euler is A-stable (indeed L-stable). No step size makes the computed solution grow without bound, and stiff modes decay rather than oscillate. For the lagged non-linear scheme, each step solves an M-matrix system, so temperatures stay bounded by the step's sources and boundaries, and no step-size instability has been observed. Strictly, though, A-stability is a property of the linear problem.
Stability does not imply accuracy. Backward Euler is first-order: the global error is proportional to Δt. A step much larger than the relevant time constants produces a smooth, stable, plausible-looking curve that is wrong. It under-predicts peaks, smooths fast transients, lags the response, and misrepresents non-linear behaviour that occurs within a step, such as a heat pipe reaching its limit or radiation rising steeply. Validation case A07 measures the order (observed 0.99) on a single-node problem. A06 shows an error of about 0.1 % of the excursion at the chosen step.
Choosing the time step
- Identify the fastest time constant that matters to the quantity of interest, τ ≈ Ci/ΣGij for the node concerned, and the fastest change in any load or boundary (pulse width, ramp duration, sinusoid period).
- As a starting point, use Δt ≤ τ/10 for the fastest relevant node and resolve each pulse with at least 8 steps. For first-order backward Euler the peak error after a step change is roughly Δt/(2τ) of the excursion.
- Nodes much faster than the quantity of interest (small capacitance, large conductance) may be left under-resolved: backward Euler damps them correctly to their quasi-steady value.
- For any result that matters, run a time-step convergence check: halve Δt and confirm the quantity of interest changes by less than the accuracy needed. The difference between the two runs approximately estimates the remaining error of the finer run.
The engine warns when a pulse is shorter than four steps, when a sinusoid has fewer than 12 steps per period, and when a step load or pulse period falls outside the run. It also warns when the step exceeds 0.3 of the local time constant Ci/ΣG of any node holding at least 5 % of the network's total capacitance, measured at the first step (an error of roughly 15 % in the lag after a change). With constant loads, a node that settles within the first 2 % of the run is not warned, because only its start-up is affected. The local time constant is an estimate of the right scale for the step, not an eigenvalue analysis, and the warning is not an error estimate.
Reported history
The solver integrates every step but returns at most 400 samples per series, evenly thinned, with the first and last kept. A plotted history can therefore pass under a short peak. The maximum, minimum (each with its time) and time-mean of every node temperature and link heat flow, and of the hottest solved node, are computed from every step and returned separately as the run's statistics. Study metrics that reduce a transient (max, min, range, mean) use these full-resolution figures.
Energy accounting
The energy delivered by each load is accumulated from the step-mean loads actually applied, and the mean power reported is that energy over the duration. Validation case A09 checks first-law closure over a run to 0.2 %.
8. Solver outcomes and what they mean
These conditions are different and must not be confused:
| Condition | What the engine does | What it does and does not tell you |
|---|---|---|
| Converged | Step below tolerance; result returned | A solution of the model as built. Says nothing about correlation validity or physical fidelity. |
| Not converged | Last iterate returned, marked not converged, with the last step size | The iteration did not settle in the sweep limit. The causes can be slow contraction, oscillation, a non-linear element near a discontinuity, or runaway. It does not prove the absence of a solution. |
| Temperature threshold exceeded | Stops after 5,000 °C on three sweeps. Says "No steady state" only when a saturated two-phase device has no other path; otherwise says the solve stopped and lists the causes. | Most often an unbounded energy balance (heat with no path out). It could also be divergence or an unphysical input. It is a safeguard, not a proof. |
| Correlation outside range | Result returned; the link flagged (valid = false, warning naming the quantity) where the range is checked | The equations were solved, but the coefficient is an extrapolation of unknown accuracy. Where the register says "stated", the engine does not check. |
| Property outside range | Property held at range limit; flagged against the link | The answer uses a property value that is not the material's at that temperature |
| Structurally floating group | Refused with an error | Model definition error |
| Unphysical or inconsistent input | Many are refused: non-positive areas, emissivity outside [0,1], compressors, unknown units. Others are not detectable. | An input that is legal but wrong, such as a wrong unit typed as a number, will solve and converge |
| No physical steady state | Not detected directly | The engine cannot prove non-existence. A steady load into a node with no path to a boundary is the clear case, and it is refused structurally. |
9. Thermal resistance elements
Each link resolves to a conductance G [W/K] at the current temperatures:
| Link | Conductance | Temperature-dependent? | Notes |
|---|---|---|---|
| Resistance | G = 1/R | No | R in K/W, as entered |
| Conductance | G | No | As entered |
| Conduction | G = k A / L | No | k entered; one-dimensional slab |
| Material conduction | G = k(T̄) A / L | Yes | k from the library at the link mean temperature |
| Convection | G = h A | No | h entered |
| Fluid gap | G = k_f(T̄) A / gap | Yes | Pure conduction through a stagnant fluid layer. Natural convection in the gap is not included; for that, use an enclosure convection correlation. |
| Interface material (TIM) | G = A / R''(P) or k A /
t | No | Bulk value or a pressure–resistance curve. Library TIMs are representative of a class. |
| Shape factor | G = S k | Via k | S from a closed-form or curve-fit shape factor (register) |
| Spreading | G = 1/R_sp | Via k | Constriction and spreading from a smaller source into a larger body (register) |
| Correlation | G = h(Re, Ra, Pr, …) A | Yes | Re-evaluated each sweep; section 10 |
| Heat sink | G = 1/R_hs | Yes | Finned sink, base to ambient, including fin efficiency |
| Boiling | G = q''(ΔT) A / ΔT | Yes | Pool or flow boiling, or condensation (secant conductance) |
| Layers | G = A / Σ(t_i/k_i + R''_b) | Yes | Thin-film stack with boundary resistances; size-effect conductivities (register) |
| Advection | ṁ cp, one-way | Via cp | Heat carried from the upstream node to the downstream node. It enters only the downstream node's row (an upwind term), which makes G non-symmetric. |
| Contact | G = (h_s + h_g) A | Yes | Section 11 |
| Radiation | secant form | Yes | Section 12 |
| Heat pipe, vapour chamber | secant Q/ΔT | Yes | Section 13 |
Conductance multiplier. Any link may carry a multiplier on its conductance. Calibration and sensitivity studies use it to scale a path without editing the underlying physics. A multiplier fitted by calibration is an empirical correction. It should be reported as such, not as a corrected correlation.
Spreading and constriction. These are not automatic. A small source on a larger plate represented by a single kA/L link omits the spreading resistance and is optimistic. Add a spreading link, use the PCB mesh, or divide the plate into nodes.
10. Convection
Convection is represented in one of three ways:
- Entered coefficient (
G = hA). Its accuracy is the user's. - Correlation link. A published correlation for an idealised geometry: natural convection on plates, cylinders and spheres; enclosures and cavities; forced external flow; tube banks; mixed convection; internal flow including microchannels; and impinging jets. Heat sinks have their own models.
- Fluid-network wall (section 15). Internal-flow Nusselt correlations driven by the solved flow.
For a correlation link, the first end is the surface and the second the fluid (free stream, bulk, or for an enclosure the opposite wall). Fluid properties are taken at the film temperature (Ts + T∞)/2 for external, natural, mixed and jet cases; at the bulk temperature for internal flow and microchannels; and at the free-stream temperature for the Zukauskas and Whitaker forms, which carry their own wall-viscosity correction.
What a correlation coefficient is. It is a surface average for the idealised geometry, flow and boundary condition of the original experiments. These are typically an isolated, isothermal or uniform-flux surface with a known approach flow. Published scatter for widely used single-phase correlations is commonly ±15 % to ±25 % inside their range, and larger for natural convection in real enclosures, mixed convection, jets and heat sinks with bypass. In a real product the dominant uncertainty is usually the applicability of the idealisation: how much air actually passes the surface, from what direction, and at what temperature. That uncertainty is not reduced by a more accurate correlation. Treat convection coefficients as uncertain inputs and bracket them (section 23).
Radiation from convecting surfaces is separate. A natural-convection surface in air often loses a comparable amount by radiation, and that requires its own link.
11. Contact conductance
A pressed, nominally flat joint conducts in parallel through the contacting asperities and through the gas in the interstitial gaps:
h_joint = h_s + h_g h_s = 1.25 k_s (m/σ) (P/H_c)^0.95 Cooper-Mikic-Yovanovich, plastic h_s = 1.55 k_s (m/σ) (√2 P / (E' m))^0.94 Mikic, elastic h_g = k_g / (Y + M) Yovanovich gas gap m = 0.125 (σ / 1 µm)^0.402 Antonetti et al. (if m is not entered)σ is the RMS combined roughness, m the combined asperity slope, ks the harmonic-mean conductivity of the two solids, Hc the contact microhardness of the softer surface, E' the effective elastic modulus, Y the mean-plane separation and M the gas rarefaction parameter. The gas conductivity comes from the material database, which is CoolProp-backed for air, helium and nitrogen, at the joint temperature. Gas pressure enters only through M.
What the numbers are worth
Contact conductance is very often one of the largest uncertainties in a thermal model, and these correlations are order-of-magnitude estimators, not hardware predictions:
- Published correlations for the same nominal joint commonly differ from each other by a factor of two, and from measurement by more. Scatter in measured data for nominally identical joints is itself large.
- The dominant unknown is the contact microhardness of the prepared surface. For shallow indentation it typically runs two to four times the bulk Vickers hardness that the material library holds, and it depends on surface preparation and work hardening. When no microhardness is entered the bulk value is used. Because hs ∝ Hc−0.95, the joint then reads high: an optimistic estimate, and the result says so.
- The models assume nominally flat surfaces with Gaussian, isotropic roughness. They do not represent waviness, flatness error, bolt-pressure non-uniformity, oxide films, coatings or plating, contamination, creep or relaxation under thermal cycling, loading hysteresis, or interstitial greases and pads (use a TIM link for those).
- Nominal pressure P is assumed uniform over the apparent area. Around bolted joints the real pressure is concentrated near the fasteners.
Relative pressure P/Hc above 0.2, combined roughness outside 0.1 to 10 µm and slopes outside 0.02 to 0.4 are warned. Validation case C01 is the only comparison with measured joint conductance (stainless steel 304 in vacuum). It places both the bulk-hardness and the 3×-microhardness results inside a published band that spans a factor of ten. This rules out an order-of-magnitude error and cannot tell the two estimates apart. Treat a computed contact conductance as a range in a sensitivity or Monte Carlo study. Where the joint governs the design, measure it.
12. Radiation
Physics and its representation
Net exchange between grey, diffuse, opaque surfaces at absolute temperatures T1, T2 is Q = σ SS (T14 − T24), with SS [m²] the total exchange area for the pair. The engine writes this as a conductance using the algebraic factorisation
T₁⁴ − T₂⁴ = (T₁² + T₂²)(T₁ + T₂)(T₁ − T₂) G_rad = σ SS (T₁² + T₂²)(T₁ + T₂)This secant form is not an approximation at convergence. At the converged temperatures, Grad(T1 − T2) equals the Stefan–Boltzmann exchange exactly, because the factor is re-evaluated each sweep. It is lagged within the iteration and, in a transient, by one time step. The modelling approximations lie in SS, in the grey-diffuse assumption, and in the isothermal-surface assumption.
Radiation links: three forms of SS
- Single emissivity and view factor (default): SS = ε A F. This is the exact result for a small convex grey body in a large enclosure (F = 1, the enclosure effectively black). For two finite grey surfaces it omits inter-reflection and treats the second surface as black, so it over-predicts exchange. For two infinite parallel plates at ε = 0.6 the over-prediction is a factor of 1.4 (validation case L01 documents the effective-emissivity workaround).
- Two-surface grey exchange: SS from the closed-form two-surface enclosure result (Incropera Eq. 13.23) with each surface's own emissivity and area. It is exact for an isolated two-surface grey diffuse enclosure.
- Total exchange area entered directly, as generated by an enclosure (below).
Radiation enclosures
For N opaque, grey, diffuse, isothermal surfaces the radiosity equations
J_i − (1 − ε_i) Σ_j F_ij J_j = ε_i E_b,iare solved once per surface with unit emissive power on that surface alone. This gives Hottel's total exchange areas SSij, so that qi = Σj σ SSij (Ti4 − Tj4). The enclosure is then expanded into pairwise radiation links carrying those exchange areas. The SS matrix depends only on geometry and emissivity, which are constant, so it is computed once. A re-radiating (adiabatic) surface stays in the solve with no net heat. An opening is a black surface at the surroundings' temperature.
View-factor closure. Each row of the entered view-factor matrix must sum to one within 5 %. A row further off is refused unless the enclosure names a surroundings node to take the remainder. Rows within the tolerance are rebalanced by Sinkhorn–Knopp scaling so that reciprocity (AiFij = AjFji) and summation both hold. The rescaling hides view-factor errors of up to 5 %. It does not correct them.
View factors
View factors are entered, or computed from closed-form catalogue results (Incropera Tables 13.1–13.2, Howell's catalogue, Hottel's crossed strings), or computed numerically for two planar rectangles in any relative position. The numerical method evaluates the double-area integral by Gauss–Legendre quadrature with panel doubling and Richardson extrapolation. It is a numerical integration of an exact expression, and it does not consider obstruction by third surfaces. The engine has no geometric model of the product. It does not determine which surfaces see each other, so visibility, shadowing and partial obstruction are the user's responsibility.
Not modelled
Spectral (non-grey) and directional (specular) behaviour; participating media (gases, smoke); solar and environmental (planetary, albedo) loads, except as entered boundary loads; temperature gradients within a radiating surface; and the temperature dependence of emissivity.
Sources: Incropera et al., Fundamentals of Heat and Mass Transfer, 6th ed., section 13.3; Howell, Mengüç & Siegel, Thermal Radiation Heat Transfer; Hottel & Sarofim, Radiative Transfer (1967).
13. Heat pipes and vapour chambers
Each device is described at one of three levels. All three present to the network a secant conductance Q/ΔT between their end nodes, subject to a capacity Qmax. Every reported limit and resistance carries a basis (analytical, correlation, manufacturer data, user-supplied or approximation).
- Level 1, effective resistance: a user-supplied resistance and rated Qmax. A vapour chamber may instead be given an effective conductivity, in which case spreading is estimated with the Lee, Song, Au and Moran (1995) spreading relation.
- Level 2, manufacturer data: a performance curve of Q against the end-to-end temperature difference, optionally one curve per orientation, and Qmax tabulated against operating temperature and orientation. The resistance is whatever the curve gives at the operating point. Between zero and the first point the curve is taken through the origin. Beyond the last point it is held (the capacity limit then applies). An orientation outside the data uses the nearest curve and says so; it is not extrapolated. An operating point outside the data is reported as extrapolated.
- Level 3, physics-based limits: geometry, working fluid and wick. Saturation
properties come from CoolProp. Each transport limit is a correlation-based
estimate, and the smallest governs:
- Capillary: available capillary pressure 2σ cosθ/rc against the liquid (Darcy) and vapour pressure drops and the axial and normal hydrostatic heads. Tilt is positive when the evaporator is above the condenser (gravity-opposed).
- Boiling: Chi's nucleation criterion with an assumed nucleation radius of 2.54×10−7 m. This value is not measured for the device, and the result is sensitive to it.
- Entrainment: a Weber-number estimate. It is an order-of-magnitude estimate only.
- Sonic: choked vapour at the evaporator exit.
- Viscous: the low-temperature (start-up) regime.
- Condenser: the link's own condenser film and sink.
- Evaporator heat flux: the smallest of the boiling flux, a datasheet flux, and a typical dry-out flux for the wick structure.
Interpretation of the limits
Each calculated limit is a modelled operating limit: a correlation-based estimate of the heat at which that mechanism would constrain the device. It is not a deterministic failure boundary. Wick permeability, effective pore radius, fill charge, manufacturing variation and the boiling nucleation radius are uncertain. Limit estimates from different references can differ by a large factor, and manufacturers derate published Qmax for these reasons. Where available, a manufacturer's tested Qmax (Level 2) should take precedence over a Level 3 estimate.
Behaviour at and beyond a limit
Below its limit the device conducts through its evaporator, vapour and condenser resistances. When the demanded heat exceeds Qmax, the engine caps the transported heat at Qmax, and any further temperature rise is carried by envelope conduction alone. This keeps Q(ΔT) continuous and monotonic, which the solver needs. Physically, exceeding a capillary or boiling limit generally leads to dry-out, in which the transported heat falls rather than holding at Qmax. Results beyond a limit are therefore optimistic and should be read as "the design exceeds the device's modelled capacity", not as a prediction of the post-limit temperature. A steady state that needs more than the device and the rest of the network can carry ends in the temperature-threshold safeguard (section 6). Below the working fluid's usable range the device is treated as frozen: envelope conduction only.
Transients
In a transient the device's envelope and charge store heat (capacitance fixed at the initial temperatures), and the limit is applied every step. Start-up, frozen start-up, transient dry-out and rewetting, and their time constants are not modelled. A transient through a heat pipe describes a pipe that is already operating.
14. Printed circuit boards
What is discretised
A board is a two-dimensional, two-plate finite-volume model with effective properties. Each face is a plate carrying half the thickness and half the heat capacity, conducting in-plane at the effective in-plane conductivity. The two plates are tied cell by cell through the thickness. For a cell of area A on a board of thickness t:
in-plane, each plate k_in (t/2) × shared edge / centre distance between the plates k_z A / t plate to its face air h A (or h_film in series with a coating, below) plate to a component the component's theta_JB, split over its footprintThe board therefore resolves in-plane spreading in two dimensions and one through-thickness resistance per cell. It does not resolve individual copper layers, which layer the copper is on, a single buried plane, conduction along a particular trace, the detailed geometry of a via field, or the edges of a pour. In-plane conduction is shared equally between the two faces. This idealisation can misplace heat between the faces of a board whose copper is concentrated on one side.
Effective properties
For a hand-entered stack-up, in-plane conductivity is copper and laminate in parallel (thickness-weighted), and through-plane is the two in series. A stack-up value is therefore an effective property of the whole board. It assumes every copper layer is continuous over the cell, which over-states in-plane spreading for sparse or split layers. Via arrays set the local through-plane conductivity from barrel plating, fill and the remaining laminate in parallel (validation A27; B07 compares a single via with a published worked calculation). Copper pours add sheet conductance to one face (A28). A conformal coat adds its thickness over its conductivity in series with the film, except over keepouts (A29).
Components reach the board through their junction-to-board resistance θJB, spread over the cells under the footprint by area, and where given through θJC into whatever is mounted on the part. The two paths act in parallel from the junction (A20). θJB and θJC are JEDEC-defined figures measured in standard environments (JESD51). Using them in a different environment is a standard approximation and is uncertain, typically by tens of percent. They are not compact thermal models.
Mesh
The mesh is rectilinear. The smallest side of the smallest component spans eight
cells, and cells grow geometrically away from components by at most a factor of 1.25
per cell, up to a coarse limit set by the board size and its spreading length. The mesh
is capped at 4,000 cells. When the cap binds, open areas are coarsened first and
component cells last, and the result reports that the mesh was limited. A board's
refine factor (1 to 8) divides every cell size, components included, for
a mesh-convergence check within the cap. max_cell bounds only the
open-area cells.
Mesh convergence evidence, and what it does not show
Mesh convergence and physical validation are different things. The evidence is:
- Analytical verification on idealised boards. A17 (board as a fin against the cosh profile), A18 (point source on a convecting sheet against the K0 Bessel solution) and A28 (copper pour as a fin) agree with the exact solutions to within about 0.02 K on rises of roughly 1 to 45 K, inside their 2 % to 6 % tolerances.
- Convergence study (engine 4.16.0). Six single-source boards (50 to 150 mm,
chips 3 to 10 mm, in-plane k 5 to 40 W/(m·K), h 10 to 50 W/(m²·K),
θJB 0.5 to 3 K/W) were refined uniformly two- and three-fold. The
junction temperature converges at second order (observed order 2.0 to 2.5).
Richardson extrapolation put the previous automatic mesh (five cells across a
component, growth 1.45) 2 to 5 % of the rise warm. The current setting is 1 to 2 %
warm. This study is recorded in the source (
pcb.CELLS_ACROSS_COMPONENT). It is not yet a test. - Grid-refinement case. A19 solves a 100 × 80 mm board with one 10 mm, 1 K/W part on the automatic mesh and again with every cell halved. It checks that the refined mesh is not cell-limited, and requires the Richardson estimate of the automatic mesh's error to be within 2.5 % of the rise.
- A stiff footprint converges slowly. When a part's θJB is far
below the board's sheet spreading scale 1/(2πk t), its
footprint is held at one temperature. The heat then crowds to the footprint's edges
and convergence drops to first order. A 10−4 K/W source on a
20 W/(m·K), 1.6 mm board read 14 % of its rise warm on the automatic mesh. The
engine warns when θJB is below a tenth of that scale. Re-solve
with
refine= 2 to check. - Symmetry (A22, A26) and energy closure (A19, to 10−6 relative).
The discretisation error of the automatic mesh is in the conservative (warm) direction in every case measured. None of this is evidence that the board model is physically accurate to any stated level. The physical error is dominated by the effective properties, θJB, and the film coefficients. These carry much larger uncertainty than the discretisation, and no comparison with a measured board has been made.
Board outlines
A board need not be a rectangle. Its outline is a polygon (arcs taken as chords of at most 10°) with any number of polygonal cut-outs, and the rectangular mesh is laid over its bounding box. Each cell is clipped against the outline and the cut-outs together (Sutherland–Hodgman, even-odd rule). The fraction φ of the cell that is board scales its heat capacity, face convection and through-thickness tie, and each in-plane link is scaled by the fraction of the shared edge that lies on the board. A cell with φ below 10−4 is dropped. A full-rectangle outline reproduces the rectangular board. The partial-cell treatment is a first-order approximation of the outline: curved edges are stair-stepped at the cell scale.
Imported layouts (KiCad, Altium, IPC-2581)
A KiCad .kicad_pcb, Altium .PcbDoc or IPC-2581 (revisions A to C,
.xml/.cvg) design is read into one normalised model: outline and
cut-outs, stack-up in physical order, material records, components with their footprints,
rotation and side, pads, tracks, copper areas, vias with their spans, and mounting holes.
Nothing thermal is taken from the file unless the file states it. No ECAD format carries a
thermal conductivity, and IPC-2581 has no property for one in any revision. Each
dielectric is therefore mapped by its material name to a laminate datasheet figure
or to the material library, or is left unresolved. An unresolved material blocks
generation until the user assigns one. Missing copper and dielectric thicknesses, via
plating (25 µm) and barrel fill (air) are assumptions, each listed in
the import's stack-up table where it can be overridden. Component power,
θJB, θJC and Tj,max are never assumed. A part
is included in the model only when the user includes it (or its power reaches the
threshold, 0.1 W by default) and it has a power and a θJB. Library
typical values are applied only on request, at the conservative end of their range.
IPC-2581 specifics. Lengths are converted using the units of the section they
appear in (CadHeader, or each dictionary's own). A missing or unknown unit is refused,
never guessed. A placement's Xform is applied as scale, counter-clockwise rotation, then
mirror in x, then offset, so a mirrored (bottom-side) part's body turns by
−rotation in the board frame. Layers are ordered by the stack-up's
sequence, not by where elements appear in the file. Negative-polarity copper
layers are copper everywhere except their drawn features. Drill-layer holes carry the via
spans: plating VIA is a via (through, blind, buried or microvia from its span), PLATED is
a component pin's barrel, and NONPLATED is a mechanical hole. Holes of 2 mm or more
that are not a pin's are listed as mounting holes.
Component to board. Electrical connectivity is not taken as thermal connectivity, and nets are not read. A part's θJB enters the board through the cells its body covers. Where an exposed thermal pad is identified (a pad named EP, PAD or TAB, or one more than four times the area of every other pad of the part), it enters through that pad's area only. This is the concentrated, conservative choice, since θJB is measured with the pad soldered. Vias in the pad are counted and reported; their barrels already raise that region's kz. A BGA's thermal balls are not singled out. Parts can be lumped by region (powers added, θJB and θJC combined as parallel conductances, the lowest Tj,max kept), and passives can be left out.
Vias. Barrels are never nodes. They can be treated in three ways: spatially, where each region's barrels raise its own kz as below; as an effective medium, where the same total conductance is spread over the board by area; or ignored. Mounting holes become standoff ports (ordinary board interfaces) only when the user selects one and enters its conductance.
Copper homogenisation. Every copper layer is rasterised (0.1 mm pixels or finer for boards up to about 50 × 50 mm, 4×4 supersampled) into a copper fraction f per pixel. The board is divided into a grid of regions (coarse, medium and fine are 10, 20 and 40 across its longer side). Within a layer, a pixel conducts as copper and resin side by side, k = f kCu + (1 − f) kresin. Across a region, two resistor networks bound the layer's effective conductivity in each direction: rows in series then in parallel, and columns averaged then in series. The region's value is the geometric mean of the two bounds. This choice reproduces the exact result for stripes (where both bounds reduce to the parallel or series limit) and for a two-phase checkerboard (Dykhne's √(k1k2)). For general layouts it is an interpolation between rigorous bounds, not an exact value, and its error is bounded by the spread between them. Layers then add in parallel in-plane:
k_x = Σ t_L k_x,L / T k_y likewise k_z = √(k_z,up · k_z,low) pixel columns in parallel (upper) / layer means in series (lower)Each plated barrel (vias and plated through-holes) is added in parallel through the thickness, in series with any laminate it does not cross. The strip within 1 mm of the outline is left out of the in-plane bounds, because fabricators pull copper back from the edge, and a series bound across that bare strip would make every edge region an insulator. The regions' kx, ky, kz and volumetric heat capacity become the board's property field. Each mesh cell takes the area-weighted mean of the regions it overlaps, the plates conduct anisotropically (kx t/2 and ky t/2), and the mesh is never coarser than a region. A part's θJB is spread over the cells its rotated body covers, by area.
15. Fluid networks
The fluid network is the hydraulic analogue of the thermal network. Node pressures play the role of temperatures, component mass flows the role of heat flows, and mass conservation the role of energy conservation. Components are pipes, ducts, fittings, valves, pumps, fans, heat exchangers, chillers and ported walls. Nodes are junctions, and reservoirs at imposed pressure. Each node carries one mixed-mean temperature: the model is one-dimensional, with no profiles across a section.
Flow regime assumptions
- Incompressible. Density is evaluated from the fluid state at each component's inlet and held constant along the component. This is appropriate for liquids, and for gases where velocity is low compared with the speed of sound and the pressure change along the network is a small fraction of the absolute pressure.
- Low-Mach gases. A common engineering rule of thumb is that density changes are below about 5 % for Mach numbers below about 0.3 (roughly 100 m/s in air at room conditions). This rule describes where an incompressible treatment is customarily accepted. It is not a physical limit, and pressure ratio matters as much as velocity: a long, low-velocity duct with a large pressure drop also violates the assumption. The engine does not check Mach number or pressure ratio. The user must check them. Its gas-velocity warning (above 15 m/s) concerns noise in HVAC practice, not compressibility.
- Not represented: compressible flow, choking, shocks, compression and expansion heating of gases (beyond the isenthalpic throttling of liquids, A32), pressure waves, water hammer, surge, and cavitation. Compressors and compressible duct components are refused with an error.
- Steady. The hydraulic solution has no inertia or storage. In a transient it is re-solved quasi-steadily as the walls move, which is valid while the loop's own response is fast against the walls' (section 16).
Hydraulics
Each component's pressure drop, signed with the flow (v|v| so it reverses with the flow), is
Δp = (f L/D_h + ΣK) ρ v|v|/2 − Δp_machine(ṁ) + ρ g Δz- Laminar (Re < 2300): f = C/Re, with C = 64 for a round tube (the Hagen–Poiseuille result, exact for fully developed laminar flow) and the Shah & London value for a rectangular channel. Developing-flow pressure drop in the entrance length is not added.
- Turbulent (Re > 4000): Haaland's (1983) explicit approximation to Colebrook–White, within about 2 % of Colebrook across its range (B05 measures 1.3 % worst case on the tested grid). Colebrook–White itself is a fit to pipe data with an uncertainty commonly quoted around ±15 %.
- Transition (2300 ≤ Re ≤ 4000): f is interpolated linearly between the laminar value at 2300 and the turbulent value at 4000. Transition is intermittent and depends on inlet conditions and disturbances; the interpolation is a modelling convenience, not a physical law. Actual friction in the band can differ substantially, and the engine warns when a component operates there.
- Fittings and valves: tabulated K factors (Idelchik, Crane TP-410; C02 checks the shipped values against published ranges). K is applied as a constant. In reality it depends on Reynolds number at low Re, and interaction between close-coupled fittings is not represented.
- Pumps and fans: from their curves, with the affinity laws for speed and a density correction for fans (A31). Library curves are representative of their class, not a product.
- Hydrostatics: ρ g Δz per component, using that component's density.
- Reverse flow is allowed. Losses reverse sign with the flow. Pump curves are extended for reversed flow and flow past free delivery, and the result flags a machine operating there.
Solution
Junction pressures are solved by Newton–Raphson on nodal mass conservation, with an analytical or finite-difference Jacobian, a step limit, and a backtracking line search (up to 20 halvings). Near-zero flows are linearised about a small fixed reference velocity (10−3 m/s), and pump curves about a small fraction of free delivery, so that the Jacobian stays non-singular at zero flow and dead-head. Convergence requires the largest nodal mass imbalance to fall below 10−10 of the largest flow in the network. That is subject to an absolute floor of 10−12 kg/s and a floor set by double-precision resolution of the pressures. At most 100 iterations are made. The final residual and a converged flag are returned.
Energy transport
Once flows are known, enthalpy is carried along them in the flow direction, with perfect mixing at junctions. Heat is added by machine inefficiency, by heat exchangers and chillers, and by ported walls. Properties are re-evaluated at the solved temperatures and pressures, and the hydraulic and energy stages are repeated until flows change by less than 10−6 of the largest flow, for at most 12 passes (6 for networks with boiling or condensing streams). If they have not settled the result says so.
Wall heat transfer
Heat from a wall at a single temperature Tw into a stream follows the effectiveness–NTU result for a constant-temperature surface:
Q = ṁ c_p ε (T_w − T_in), ε = 1 − exp(−hA/(ṁ c_p))so a stream cannot leave hotter than its wall, however long the component (A15). The whole wall of a component is assumed to be at one temperature. A long cold plate with a large wall temperature variation should be split into several ported components.
The internal coefficient h comes from:
- Default: fully developed laminar Nu (3.66, constant wall temperature, for a round tube; the aspect-ratio value for rectangular channels) below Re 2300, and Dittus–Boelter above Re 4000, with a linear blend between. Dittus–Boelter is stated for Re ≥ 104 and 0.6 < Pr < 160. Between 4000 and 104 it is extrapolated and warned.
- Opt-in, per component: Hausen's developing-flow laminar value and Gnielinski's correlation above Re 3000, blended between 2300 and 3000. Gnielinski is generally the more accurate of the two turbulent correlations.
Direction of the default's bias. Against Gnielinski (validation B06), Dittus–Boelter reads up to 29 % low for liquids (Pr 3–7) and up to 11 % high for gases (Pr 0.73). The fully developed laminar Nu under-predicts the average coefficient of a developing flow. "Low h" is conservative for a part cooled by the stream (it runs hotter than predicted). It is not conservative where the stream is being cooled, where heat pick-up into the coolant is the quantity of interest, or for gases in the turbulent default. Choose the correlation deliberately.
16. Thermal-fluid coupling
Steady coupled solution
The thermal and fluid networks are solved by partitioned (block Gauss–Seidel, or Picard) iteration:
- Initial wall temperatures are the fluid temperatures at each ported component's inlet node.
- The fluid network is solved against the current wall temperatures (including its own property passes).
- Each ported component is passed to the thermal network as a conductance ṁ cp ε from its wall node to a sink at the stream's inlet temperature. Components sharing a wall add.
- The thermal network is solved with those sinks. Its tolerance is loosened while the walls are still moving (between 10−3 and 10−6 K, tracking the coupling movement), and it is warm-started from the previous pass.
- The wall temperature change is the coupling residual. If its largest entry is below 10−4 K the coupling has converged, and a final thermal solve is made at full tolerance with the converged sinks.
- Otherwise the walls are updated with Aitken dynamic relaxation. The factor is recomputed from the last two residuals and bounded to [0.05, 20], so it can under-relax or over-relax. Return to step 2, for at most 40 passes.
A conductance, rather than a heat rate, is passed across the interface because it keeps the alternation stable: the heat into the stream is linear in the wall temperature and is solved implicitly by the thermal side. The editor, the API, the operating envelope and the report all use this routine.
Limits of the coupling. The scheme has no convergence guarantee. Strong feedback between the loops can slow it or make it oscillate. Examples are boiling streams, chillers whose capacity depends on condenser water temperature, and strongly temperature-dependent viscosity. If it does not reach the tolerance in 40 passes, the result is returned with the coupling marked not converged and the final wall movement. Non-linear coupled systems can in principle have more than one consistent solution, and the iteration finds the one reached from its starting point. Energy is conserved at the interface at convergence: the heat leaving each wall through its sink equals the heat the fluid side computes for that component (A23).
Transient analyses with a coolant loop: quasi-steady re-coupling
During a transient the coolant loop is re-solved against the current wall temperatures. This happens at the start, from the initial temperatures (or from the coupled steady state when the run starts from steady), and again at the start of any step at which a ported wall has moved more than 0.01 K since the last solve, up to 300 solves per run. Between solves, each wall sees the loop as a fixed conductance ṁ cp ε to the coolant inlet temperature. The result reports how many times the loop was re-solved. Consequences:
- A closed loop's coolant warms as the heat it carries comes back round, following the walls with a lag of about the 0.01 K tolerance. On the liquid-cooling example the run's end state is within 0.02 K of the coupled steady state.
- The coolant, its pipes and any reservoir store no heat. Coolant temperatures respond to the walls instantly, so a loop whose own thermal mass matters warms too quickly. Represent such a mass with thermal nodes.
- Flow has no inertia, and changes of flow during the run (a pump stopping, a valve closing) are not represented. The pumps run on their steady curves throughout.
- Because the coupling is lagged and explicit between solves, convergence is not guaranteed for a strongly non-linear loop (boiling streams, chillers). The 0.01 K tolerance keeps the lag small where the walls have thermal mass.
Studies with a coolant loop
Parameter sweeps, optimisation, Monte Carlo, sensitivity and the Engineer Advisor solve the loop once at the base design and hold it fixed while the thermal parameters vary, for steady and transient metrics alike. This is exact for the base design and approximate for changes that move the coolant flow or heat pick-up. The result carries a note. The operating envelope is the exception: it re-solves the full coupled problem at every operating point.
17. Material and fluid properties
| Data | Source | Nature | Temperature / pressure dependence |
|---|---|---|---|
| Built-in solids | Handbook values (Incropera et al.; Touloukian et al., Thermophysical Properties of Matter; CRC Handbook) | Nominal, representative of a family or grade, near 20–25 °C, with a note on grade or temper where the family varies widely. Not supplier-specific and not measured for any product. | Per property: constant, linear, power law in absolute temperature, polynomial, or table. Pressure-independent. |
| Hardness (for contact) | Nominal bulk Vickers, converted at 9.807 MPa per HV | Nominal bulk; not contact microhardness | None |
| Liquids and gases | CoolProp 8 (Bell et al., Ind. Eng. Chem. Res. 53 (2014) 2498–2508), reference equations of state | Database-derived; CoolProp's own stated uncertainties apply | Temperature and pressure. Phase is imposed per fluid, not inferred near saturation. |
| Glycols, heat-transfer oils, some coolants | CoolProp incompressible fits | Correlation fits to supplier or literature data | Temperature (pressure-independent), over CoolProp's stated range |
| Air | CoolProp pseudo-pure mixture | Database-derived | Temperature, pressure; humidity not represented |
| Two constant-property fluids (water and air at 20 °C) | Fixed | Exist only so that hand calculations and validation cases can be reproduced exactly | None |
| TIMs, pumps, fans | Library | Representative of a class, not a product; each says so | As stated per item |
| Pipe, tube and duct sizes | ASTM B88, B280, D1785, D2846, F876; ASME B36.10M; EN 10255, 1057, 1506 | Standard dimensions | n/a |
| Boiling surface–fluid constants | Incropera Table 10.1 | Literature, with large scatter | n/a |
| Electron mean free paths (thin metal films) | Gall (2016) | Literature, room temperature | None |
| Organisation materials | User-defined | As good as the data entered; kept to that organisation's workspace | As defined |
Range of validity. Each solid states the temperature range its property models apply over. A material that does not state one defaults to −50 to 300 °C. Outside the range, properties are held at their value at the nearer limit (clamped), because extrapolating a fitted curve can drive a conductivity towards zero and make the solve unstable. The use is flagged against the link.
Property caching. CoolProp calls are cached on state rounded to 0.01 K and 0.001 kPa.
Uncertainty. Alloy temper, ceramic grade and density, polymer filler loading, anisotropy of composites and laminates, and a specific product's pump or fan curve can each move a result by more than the solver's numerical error. Thermal conductivity of commercial alloys of the same nominal designation commonly spans ±10 % to ±20 %. Filled polymers and TIMs span more. Built-in values are suitable for sizing and comparison. Replace them with supplier or measured data before a result is relied on for a final design. Property data are not validated by this engine; CoolProp and the handbooks are the authorities for their own data.
18. Correlation transparency
The register gives each correlation's reference, validity range and whether the engine checks it. This section summarises, by family, the information an engineer needs to judge a result. Uncertainty figures are typical values from the open literature for use inside the stated range. They are not measured accuracies of this implementation, which reproduces the published correlations (section 21).
| Family | Physics, method, inputs | Validity | Typical uncertainty | Outside the range | Guidance |
|---|---|---|---|---|---|
| Natural convection (plates, cylinders, spheres, channels, enclosures) | Buoyancy-driven h from Ra, Pr and geometry (Churchill–Chu and others; see register) | Ra, Pr, aspect ratio and orientation per register; mostly checked | ±20–30 % for isolated surfaces; more in real enclosures with neighbouring parts | Flagged (valid = false) where checked; extrapolated value still used | Bracket h; consider radiation in parallel; test or CFD if decisive |
| Forced external and internal convection | h from Re, Pr and geometry (Churchill–Bernstein, Zukauskas, Gnielinski, Dittus–Boelter, Shah & London and others) | Re, Pr, L/D per register; checked | ±10–25 % in range; transition band up to a factor of two | Flagged; transition interpolated and warned | Prefer Gnielinski; keep out of the transition band; verify the approach velocity |
| Jets | Impingement h (Martin-type) | Re, H/D, r/D, open area; checked | ±20–30 % | Flagged | Sensitive to nozzle geometry and cross-flow; correlate |
| Heat sinks | Channel-flow or fin-array correlations with fin efficiency | Per register; bypass not modelled (warned) | ±15–30 % for a ducted sink; more if unducted | Flagged; unducted bypass not represented | Use the manufacturer's resistance curve where available; account for approach flow and bypass |
| Fin efficiency | One-dimensional fin equation (closed form or 400-cell numerical) | Bi = ht/k ≪ 0.1, uniform h and k; stated, not checked | Exact for the idealisation; error grows with Bi and with h variation | Not flagged | Check Bi by hand for thick or low-k fins |
| Boiling and condensation | Rohsenow, Cooper, Mostinski; Chen, Kandlikar, Gungor–Winterton; Nusselt film; Shah | Per register; mostly checked | Nucleate pool boiling ±100 % in heat flux at given superheat; flow boiling ±30 %; condensation ±20–30 % | Flagged | Treat as an estimate; boiling onset and CHF margins need test data |
| Contact | Section 11 | Checked (P/H, roughness, slope) | Factor of two or more | Flagged | Sensitivity range; measure if decisive |
| Radiation view factors | Closed forms; numerical double-area integral | Geometric conditions; no obstruction | Closed forms are exact for their geometry; the real geometry rarely matches | n/a | Check that surfaces really see each other; use an enclosure for grey surfaces |
| Shape factors and spreading | Closed-form and series solutions; some curve fits | Geometric; some ranges checked | Exact for the idealised geometry and boundary condition; curve fits about ±2–5 % | Some flagged | Confirm the boundary condition assumed (isothermal or uniform flux, insulated edges) |
| Thin films and effective media | Fuchs–Sondheimer, phonon boundary scattering, AMM/DMM, Maxwell-Garnett, Bruggeman and others | Stated, not checked | AMM/DMM within a factor of a few of measurement; effective-medium models ±20 % or more away from dilute limits | Not flagged | Treat as an estimate; use measured film conductivity where available |
| Heat-pipe limits | Section 13 | Stated, not checked | Large (often factor of two or more for boiling and entrainment) | Not flagged | Prefer manufacturer data; apply a margin |
| Hydraulic friction and minor losses | Section 15 | Checked (transition warned) | Turbulent friction ±5–15 %; K factors ±20–50 % for fittings in close succession | Transition interpolated and warned | Use measured loss data for critical components |
19. Correlation register
Every correlation the engine offers, read from the engine's own catalogues, with the reference given there and the range over which it applies. The last column says what the engine does about that range:
- warned the engine checks the range. A result used outside it comes back flagged invalid, with a warning naming the quantity. The value is still used in the solve.
- stated the range is from the reference. The engine does not check it, so the user must.
- closed form a closed-form result with no fitted range. The conditions are geometric idealisations (for example "long cylinders", "insulated edges") that the user must confirm hold. "Closed form" means exact for the idealised problem, not for the hardware.
A test in the engine's suite fails if a catalogue gains a correlation with no entry here, so the register is complete by construction.
| Correlation | Reference | Valid for | Range |
|---|---|---|---|
| Convection - Natural convection | |||
| Vertical plate | Churchill & Chu (1975); Incropera Eqs. 9.26-9.27 | Ra_L <= 1e12, any Pr (full form); Ra_L <= 1e9 (laminar form). Isothermal surface; L is the height. | warned |
| Horizontal plate, face up | Lloyd & Moran (1974); Raithby & Hollands; Incropera Eqs. 9.30-9.32 | Hot face up: Ra_L 1e4 to 1e11, and Pr >= 0.7 below Ra 1e7. Cold face up: Ra_L 1e4 to 1e9, Pr >= 0.7. Characteristic length A/P. | warned |
| Horizontal plate, face down | Lloyd & Moran (1974); Raithby & Hollands; Incropera Eqs. 9.30-9.32 | Hot face down: Ra_L 1e4 to 1e9, Pr >= 0.7. Cold face down: Ra_L 1e4 to 1e11, and Pr >= 0.7 below Ra 1e7. Characteristic length A/P. | warned |
| Inclined plate | Churchill & Chu (1975); Incropera Section 9.6.2; Raithby & Hollands | Tilt 0 to 90 degrees from vertical; Ra_L cos(theta) <= 1e12. Stable side (hot face down, cold face up) recommended to 60 degrees; the unstable side takes the larger of the tilted and horizontal forms (warned: 3-D flow). | warned |
| Horizontal cylinder | Churchill & Chu (1975); Incropera Eq. 9.34 | Ra_D <= 1e12, long isothermal cylinder. | warned |
| Vertical cylinder | Churchill & Chu (1975); Sparrow & Gregg (1956); Incropera Eq. 9.33 | Ra_L <= 1e12, and D >= 35 L / Gr_L^(1/4) for the plate treatment to hold; a thinner cylinder is flagged (the plate value underpredicts). | warned |
| Sphere | Churchill (1983); Incropera Eq. 9.35 | Ra_D <= 1e11, Pr >= 0.7. | warned |
| Vertical parallel-plate channel | Bar-Cohen & Rohsenow (1984); Incropera Section 9.7 | Symmetric isothermal plates open at both ends. The composite form spans the fully developed and isolated-plate limits, so no Ra range is imposed. | stated |
| Convection - Enclosures | |||
| Enclosure, heated from the side | MacGregor & Emery (1969); Berkovsky & Polevikov (1977); Incropera Section 9.8 | Ra_L < 1e3 is taken as conduction. H/L 1 to 2: Pr 1e-3 to 1e5, Pr Ra/(0.2 + Pr) >= 1e3. H/L 2 to 10: Pr <= 1e5, Ra_L 1e3 to 1e10. H/L 10 to 40: Pr 1 to 2e4 and Ra_L 1e4 to 1e7, or Pr 1 to 20 and Ra_L 1e6 to 1e9. H/L < 1 is extrapolated (flagged). | warned |
| Enclosure, horizontal | Globe & Dropkin (1959); Incropera Section 9.8 | Heated from below: conduction to Ra_L = 1708, Globe-Dropkin for Ra_L 3e5 to 7e9 (1708 to 3e5 flagged). Heated from above: conduction. | warned |
| Enclosure, tilted | Hollands et al. (1976); Incropera Section 9.8 | Tilt 0 to 90 degrees from horizontal. Below the critical tilt with H/L >= 12, Hollands et al. to Ra_L 1e5; with H/L < 12, Catton's interpolation; above the critical tilt, Ayyaswamy-Catton; heated from above, Arnold et al. | warned |
| Concentric cylinders | Raithby & Hollands (1975); Incropera Section 9.8 | Ra* <= 1e7 (Ra* < 100 taken as conduction, k_eff = k). h refers to the inner surface. | warned |
| Concentric spheres | Raithby & Hollands (1975); Incropera Section 9.8 | Ra* <= 1e4, Pr 0.7 to 4150 (Ra* < 100 taken as conduction). h refers to the inner surface. | warned |
| Convection - Forced convection | |||
| Flat plate, parallel flow | Pohlhausen; Churchill & Ozoe (1973); Incropera Eqs. 7.30-7.46 | Laminar to the transition Re_c (5e5 by default); mixed and tripped turbulent forms for Pr 0.6 to 60 and Re_L <= 1e8. Laminar forced beyond Re_c is flagged. Unheated starting length supported. | warned |
| Cylinder in crossflow | Churchill & Bernstein (1977); Incropera Eq. 7.54 | All Re with Re Pr >= 0.2. | warned |
| Noncircular cylinder in crossflow | Incropera 7th ed. Table 7.3 | Gas flow only, over the Re_D range of the data for each shape (e.g. square face-on 6000 to 60000); a liquid or a Re outside the data is flagged. | warned |
| Sphere in a stream | Whitaker (1972); Incropera Eq. 7.56 | Re_D 3.5 to 7.6e4, Pr 0.71 to 380. The viscosity ratio is taken as 1 unless mu_s is given (warned). | warned |
| Tube bank in crossflow | Zukauskas (1972); Incropera Eq. 7.58, Tables 7.5-7.6 | Re_D,max 10 to 2e6, Pr 0.7 to 500. Row correction for fewer than 20 rows. Properties at the free-stream temperature. | warned |
| Convection - Mixed convection | |||
| Vertical plate, mixed convection | Churchill (1977); Incropera Section 9.9 | The ranges of its two parts (forced flat plate, natural vertical plate) combined with n = 3. Reports Gr/Re^2 and the dominant mode. | warned |
| Horizontal cylinder, mixed convection | Churchill (1977); Incropera Section 9.9 | The ranges of Churchill-Bernstein and Churchill-Chu, combined with n = 4. Cross flow uses the + sign, a rough approximation (warned). | warned |
| Convection - Internal flow | |||
| Circular tube | Hausen (1943); Baehr & Stephan; Gnielinski (1976); Incropera Ch. 8 | Laminar below Re 2300: fully developed Nu (3.66 uniform T_s, 4.36 uniform q'') or the chosen entry-length form (Hausen, Baehr-Stephan, Shah, Sieder-Tate). 2300 to 4000: linear blend, warned. Turbulent: Gnielinski for Re 3000 to 5e6 and Pr 0.5 to 2000, or Dittus-Boelter for Re >= 1e4, Pr 0.6 to 160 and L/D >= 10. Outside these the result is flagged. | warned |
| Concentric annulus | Incropera Table 8.2; Gnielinski (1976) | Laminar below Re 2300: fully developed Nu (3.66 uniform T_s, 4.36 uniform q'') or the chosen entry-length form (Hausen, Baehr-Stephan, Shah, Sieder-Tate). 2300 to 4000: linear blend, warned. Turbulent: Gnielinski for Re 3000 to 5e6 and Pr 0.5 to 2000, or Dittus-Boelter for Re >= 1e4, Pr 0.6 to 160 and L/D >= 10. Outside these the result is flagged. One wall heated, the other insulated. | warned |
| Rectangular duct | Shah & London (1978); Incropera Table 8.1 | Laminar below Re 2300: fully developed Nu (3.66 uniform T_s, 4.36 uniform q'') or the chosen entry-length form (Hausen, Baehr-Stephan, Shah, Sieder-Tate). 2300 to 4000: linear blend, warned. Turbulent: Gnielinski for Re 3000 to 5e6 and Pr 0.5 to 2000, or Dittus-Boelter for Re >= 1e4, Pr 0.6 to 160 and L/D >= 10. Outside these the result is flagged. Laminar Nu and fRe by aspect ratio (Shah & London). | warned |
| Parallel plates | Shah & London (1978); Incropera Table 8.1 | Laminar below Re 2300: fully developed Nu (3.66 uniform T_s, 4.36 uniform q'') or the chosen entry-length form (Hausen, Baehr-Stephan, Shah, Sieder-Tate). 2300 to 4000: linear blend, warned. Turbulent: Gnielinski for Re 3000 to 5e6 and Pr 0.5 to 2000, or Dittus-Boelter for Re >= 1e4, Pr 0.6 to 160 and L/D >= 10. Outside these the result is flagged. Laminar Nu 7.54 (uniform T) or 8.23 (uniform q''), fRe = 96. | warned |
| Convection - Microchannels | |||
| Rectangular microchannels | Lee & Garimella (2006); Shah & London (1978) | Aspect ratio 1 to 10 (Lee & Garimella); three-wall heating wider than tall is outside the fit. For a gas, Kn > 0.001 is slip flow (warned: no-slip correlations overpredict friction) and Kn > 0.1 is outside the continuum (flagged). Turbulent ranges as for a tube. | warned |
| Circular microchannels | Shah (1975, 1978); Baehr & Stephan; Shah & London (1978) | Developing laminar flow. For a gas, Kn > 0.001 is slip flow (warned: no-slip correlations overpredict friction) and Kn > 0.1 is outside the continuum (flagged). Turbulent ranges as for a tube. | warned |
| Convection - Impinging jets | |||
| Single round jet | Martin (1977); Incropera Section 7.7 | Re 2000 to 4e5, H/D 2 to 12, r/D 2.5 to 7.5. | warned |
| Single slot jet | Martin (1977); Incropera Section 7.7 | Re 3000 to 9e4, H/W 2 to 10, x/W 4 to 20. | warned |
| Array of round jets | Martin (1977); Incropera Section 7.7 | Re 2000 to 1e5, H/D 2 to 12, relative nozzle area 0.004 to 0.04. | warned |
| Array of slot jets | Martin (1977); Incropera Section 7.7 | Re 1500 to 4e4, H/W 2 to 80, relative nozzle area 0.008 to 2.5 times the optimum. | warned |
| Heat sinks | |||
| Plate-fin heat sink | Bar-Cohen & Rohsenow (1984), 'Thermally optimum spacing of vertical, natural convection cooled, parallel plates', J. Heat Transfer 106 116-123; Teertstra, Yovanovich & Culham (2000), 'Analytical forced convection modeling of plate fin heat sinks', J. Electronics Manufacturing 10(4) 253-261 | Forced: Teertstra et al. for Re_b* 0.26 to 177, laminar channels (Re_Dh > 2300 warned). Natural: Bar-Cohen & Rohsenow vertical channels; spacing far from the optimum and a horizontal base are warned. Unducted bypass is not modelled (warned). | warned |
| Tapered plate-fin heat sink | Teertstra, Yovanovich & Culham (2000), 'Analytical forced convection modeling of plate fin heat sinks', J. Electronics Manufacturing 10(4) 253-261; Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | As the plate-fin sink, at the mean fin thickness, with the trapezoidal fin efficiency. | warned |
| Pin-fin heat sink | Zukauskas (1972); Incropera et al., Fundamentals of Heat and Mass Transfer, Eq. 7.58, Tables 7.5-7.6; Khan, Culham & Yovanovich (2005), 'Optimization of pin-fin heat sinks using entropy generation minimization', IEEE Trans. CPT 28(2) 247-254 (Jakob's friction factors) | Forced: Zukauskas bank, Re_D,max 10 to 2e6 (100 to 1000 treated as isolated cylinders). Natural: each pin as an isolated cylinder (warned: an approximation). | warned |
| Conical pin-fin heat sink | Zukauskas (1972); Incropera et al., Fundamentals of Heat and Mass Transfer, Eq. 7.58, Tables 7.5-7.6; Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | As the pin-fin sink, at the mean diameter, with the conical fin efficiency. | warned |
| Radial-fin heat sink (LED) | Bar-Cohen & Rohsenow (1984), 'Thermally optimum spacing of vertical, natural convection cooled, parallel plates', J. Heat Transfer 106 116-123; Teertstra, Yovanovich & Culham (2000), 'Analytical forced convection modeling of plate fin heat sinks', J. Electronics Manufacturing 10(4) 253-261 | Vertical parallel-plate channels at the mean fin spacing, axis vertical only (warned: an approximation). | warned |
| Disc-finned tube | Briggs & Young (1963), 'Convection heat transfer and pressure drop of air flowing across triangular pitch banks of finned tubes', Chem. Eng. Prog. Symp. Ser. 59(41) | Forced: Briggs & Young, Re_D0 1100 to 18000, staggered finned-tube banks (warned for a single tube). Natural: the envelope as a horizontal cylinder (warned). | warned |
| Fin efficiency | |||
| Straight fin, rectangular profile | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 3.4-3.5 | One-dimensional fin: Biot number h t / k well below 0.1, uniform h and k. | stated |
| Straight fin, triangular profile | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 3.5; Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | One-dimensional fin, uniform h and k. | stated |
| Straight fin, trapezoidal profile | Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | One-dimensional fin, uniform h and k; solved numerically (400 cells). | stated |
| Straight fin, concave parabolic profile | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 3.5; Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | One-dimensional fin, uniform h and k. | stated |
| Straight fin, convex parabolic profile | Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001), Ch. 2 (Schmidt's profile) | One-dimensional fin, uniform h and k. | stated |
| Pin fin, cylindrical | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 3.4-3.5 | One-dimensional fin: h D / k well below 0.1, uniform h and k. | stated |
| Pin fin, square | Incropera et al., Fundamentals of Heat and Mass Transfer, Section 3.6 | One-dimensional fin, uniform h and k. | stated |
| Pin fin, conical (truncated or pointed) | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 3.5; Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | One-dimensional fin, uniform h and k; truncated cones solved numerically. | stated |
| Annular fin, rectangular profile | Incropera et al., Fundamentals of Heat and Mass Transfer, Eq. 3.96, Table 3.5 | One-dimensional radial fin, uniform h and k. | stated |
| Annular fin, tapered (trapezoidal) profile | Kraus, Aziz & Welty, Extended Surface Heat Transfer (Wiley, 2001) | One-dimensional radial fin, uniform h and k; solved numerically. | stated |
| Pool boiling | |||
| Rohsenow (1952) | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10, Eq. 10.5 | Nucleate boiling on a clean surface; Csf and n from the surface-fluid table. Scatter of up to +-100 % in heat flux is expected (always warned). | warned |
| Cooper (1984) | Cooper (1984) | Reduced pressure 0.001 to 0.9. | warned |
| Mostinski (1963) | Collier & Thome, Convective Boiling and Condensation (3rd ed.) | Nucleate boiling of pure fluids at moderate reduced pressure; needs the critical pressure. | stated |
| Critical heat flux | |||
| Zuber (1959), C = 0.131 | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10, Eq. 10.6 | Large horizontal heater; C = 0.131. | stated |
| Lienhard & Dhir (1973) | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10, Table 10.2 | Finite-heater factors on the dimensionless size L*: large plate L* > 27, small plate 9 to 20, cylinder 0.15 to 1.2 / >= 1.2, sphere 0.15 to 4.26 / >= 4.26 (on the radius). | warned |
| Kandlikar (2001) | Kandlikar (2001) | Contact angle and orientation as inputs. | stated |
| Flow boiling | |||
| Chen (1966) | Collier & Thome, Convective Boiling and Condensation (3rd ed.) | Saturated flow boiling, Re_l >= 1e4; x < 1 (x > 0.8 warned for dry-out). | warned |
| Kandlikar (1990) | Kandlikar, J. Heat Transfer 112 (1990) | Saturated flow boiling in conventional tubes; x < 1 (x > 0.8 warned); fluid parameter F_fl from the table. | warned |
| Gungor & Winterton (1987) | Gungor & Winterton (1987) | Saturated flow boiling, Re_l >= 1e4. | warned |
| Kandlikar & Balasubramanian (2004) | Heat Transfer Eng. 25 (2004) | Mini and microchannels, laminar liquid-only h below Re_lo 1600; hydraulic diameter above 3 mm and x > 0.8 are warned. | warned |
| Condensation | |||
| Vertical plate | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10 | Film condensation, Ja <= 0.1; laminar, wavy-laminar and turbulent by Re_delta; the turbulent form needs Pr_l >= 1. | warned |
| Horizontal tube | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10, Eq. 10.46 | Laminar film condensation, Ja <= 0.1. | warned |
| Vertical tube column | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10, Eq. 10.47 | Laminar film condensation, Ja <= 0.1. | warned |
| Sphere | Incropera et al., Fundamentals of Heat and Mass Transfer, Ch. 10 | Laminar film condensation, Ja <= 0.1. | warned |
| In-tube, Shah (1979) | Shah (1979) | In-tube condensation, reduced pressure 0.002 to 0.44, Re_lo >= 350, Pr_l 1 to 13. | warned |
| Two-phase pressure drop | |||
| Friedel (1979) | Friedel (1979) | General purpose; mu_l / mu_v < 1000. | stated |
| Lockhart-Martinelli / Chisholm | Lockhart & Martinelli (1949) | Separated flow, Chisholm's C. | stated |
| Mueller-Steinhagen & Heck (1986) | Mueller-Steinhagen & Heck (1986) | Interpolates liquid-only and vapour-only gradients; general purpose. | stated |
| Homogeneous | Collier & Thome, Convective Boiling and Condensation (3rd ed.) | No slip; best at high mass flux or near the critical point. | stated |
| Void fraction | |||
| Homogeneous | Collier & Thome, Convective Boiling and Condensation (3rd ed.) | Slip ratio 1. | stated |
| Zivi (1964) | Zivi (1964) | Annular flow, minimum-entropy slip ratio. | stated |
| Chisholm (1972) | Chisholm (1972) | Separated flow. | stated |
| Rouhani & Axelsson (1970) | Rouhani & Axelsson (1970) | Drift flux; needs the mass flux. | stated |
| Radiation view factors | |||
| Infinite parallel plates | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1 | Plates much wider than their gap. | closed form |
| Inclined plates of equal width, common edge | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1 | Equal widths, long plates. | closed form |
| Perpendicular plates, common edge | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1 | Long plates. | closed form |
| Three-sided enclosure | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1; Hottel's crossed strings | Long, flat sides (crossed strings). | closed form |
| Parallel cylinders of equal radius | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1 | Long cylinders, s >= 2r. | closed form |
| Cylinder and parallel strip | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.1 | Long cylinder and strip. | closed form |
| Coaxial parallel disks | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.2 | Coaxial, parallel. | closed form |
| Aligned parallel rectangles | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.2 | Equal rectangles directly opposite. | closed form |
| Perpendicular rectangles with a common edge | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.2 | Rectangles at right angles sharing the whole edge. | closed form |
| Long concentric cylinders | Howell, A Catalog of Radiation Heat Transfer Configuration Factors | Length much greater than the gap. | closed form |
| Concentric spheres | Howell, A Catalog of Radiation Heat Transfer Configuration Factors | Concentric. | closed form |
| Sphere to coaxial disk | Howell, A Catalog of Radiation Heat Transfer Configuration Factors | Disk centred on the axis, h > r. | closed form |
| Differential area to coaxial parallel disk | Howell, A Catalog of Radiation Heat Transfer Configuration Factors | Element on the disk axis. | closed form |
| Small object in a large enclosure | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 13.2 | A1 much smaller than A2, object convex. | closed form |
| Two rectangles in 3-D (numerical) | Double-area integral: double-area integral, Gauss-Legendre on panels, doubled until settled, Richardson-extrapolated | Any two planar rectangles. Converged by panel doubling and Richardson extrapolation; obstruction by third surfaces is not considered. | stated |
| Radiation exchange | |||
| Grey diffuse enclosure (radiosity) | Incropera et al., section 13.3; Hottel and Sarofim (1967) | Opaque, grey, diffuse, isothermal surfaces; no participating medium; no specular reflection. A view-factor row summing further than 5 % from 1 is refused unless the enclosure names its surroundings. | warned |
| Conduction shape factors | |||
| Sphere buried in a half-space | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 1 | z > D/2. | closed form |
| Sphere in an infinite medium | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 12 | Infinite medium. | closed form |
| Horizontal cylinder buried in a half-space | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 2 | L much greater than D, z > D/2. | closed form |
| Vertical cylinder in a half-space | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 3 | L much greater than D. | closed form |
| Disk on the surface of a half-space | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 10 | The rest of the surface insulated. | closed form |
| Thin disk in an infinite medium | Holman, Heat Transfer, Table 3-1 | Both faces conducting. | closed form |
| Cube in an infinite medium | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 13 | Infinite medium. | closed form |
| Two parallel cylinders | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 4 | L much greater than D1, D2; w > (D1 + D2)/2. | closed form |
| Cylinder midway between two planes | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 5 | z > D/2, L much greater than z. | closed form |
| Cylinder centred in a square bar | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 6 | W > D. | closed form |
| Eccentric cylinders | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 7 | D > d. | closed form |
| Concentric cylinders | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, section 3.3 | D > d. | closed form |
| Concentric spheres | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, section 3.4 | D > d. | closed form |
| Square flow channel | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, case 9 | W > w; a curve fit, not a closed form. | stated |
| Edge of two walls | Holman, Heat Transfer, Table 3-1 | Inside dimensions > t/5. | closed form |
| Corner of three walls | Holman, Heat Transfer, Table 3-1 | Inside dimensions > t/5. | closed form |
| Plane wall | Incropera et al., Fundamentals of Heat and Mass Transfer, Table 4.1, section 3.1 | One-dimensional. | closed form |
| Spreading resistance | |||
| Circular source on a half-space | Carslaw and Jaeger; Yovanovich | Body much larger than the source. | closed form |
| Rectangular source on a half-space | Yovanovich (1976) | Body much larger than the source; uniform flux, mean temperature. | closed form |
| Circular contact on a long cylinder | Roess; Yovanovich (accurate for ε < 0.8) | Accurate for d/D < 0.8 (approximate above, stated in the result). | warned |
| Circular source on a cooled circular plate | Lee, Song, Au and Moran (1995) | Centred source; far face cooled by a uniform h (0 for isothermal). The mean-temperature form is about 4 % conservative (stated in the result). | warned |
| Rectangular source on a cooled rectangular plate | Muzychka, Culham and Yovanovich (2003) | Source anywhere on the plate, edges insulated, far face cooled by a uniform h. Series truncation is checked and reported. | warned |
| Thin-film conductivity | |||
| Metal film (Fuchs-Sondheimer) | Sondheimer, Adv. Phys. 1, 1 (1952) | Metal films; electron mean free path from the table (room temperature). | stated |
| Dielectric film (phonon boundary) | Majumdar, J. Heat Transfer 115, 7 (1993) | Dielectric films; grey phonon mean free path. | stated |
| Interface resistance | |||
| Acoustic mismatch model | Swartz and Pohl, Rev. Mod. Phys. 61, 605 (1989) | Specular phonon transmission, low temperature and smooth interfaces; an estimate, not a prediction. | stated |
| Diffuse mismatch model | Swartz and Pohl, Rev. Mod. Phys. 61, 605 (1989) | Diffuse phonon scattering; an estimate, typically within a factor of a few of measurement. | stated |
| Effective medium | |||
| Maxwell Garnett (dilute spheres) | Maxwell (1873); Nan et al., J. Appl. Phys. 81, 6692 (1997) | Dilute, non-interacting spheres, filler fraction up to about 0.3. | stated |
| Bruggeman (symmetric) | Bruggeman, Ann. Phys. 416, 636 (1935) | Both phases treated alike; percolates at a fraction of 1/3. | stated |
| Lewis-Nielsen | Lewis and Nielsen, J. Appl. Polym. Sci. 14, 1449 (1970) | Highly filled composites up to the maximum packing fraction. | stated |
| Hasselman-Johnson (spheres with interface resistance) | Hasselman and Johnson, J. Compos. Mater. 21, 508 (1987) | Spheres with an interface resistance. | stated |
| Hashin-Shtrikman bounds | Hashin and Shtrikman, J. Appl. Phys. 33, 3125 (1962) | Bounds for an isotropic two-phase mixture. | stated |
| Heat pipe limits | |||
| Capillary limit | Pressure balance: 2σcosθ/r_eff ≥ ΔP_l + ΔP_v + ΔP_g, Darcy flow in the wick, Hagen-Poiseuille (Blasius if turbulent) in the vapour core (Chi 1976; Faghri 2016, section 4.4) | Wick and vapour pressure balance; laminar or Blasius vapour flow. | stated |
| Boiling limit | Chi (1976) boiling limit: nucleation in the saturated wick at the evaporator wall; nucleation radius 2.54e-7 m | Chi's nucleation criterion with a 2.54e-7 m nucleation radius. | stated |
| Entrainment limit | Kemme (1969) / Cotter Weber-number criterion, Q = A_v h_fg (σ ρ_v / 2 r_h,w)^0.5; an order-of-magnitude estimate | Order-of-magnitude estimate (Weber number). | stated |
| Sonic limit | Levy (1968) choked-vapour limit, Q = A_v ρ_v h_fg (γ R T / 2(γ+1))^0.5 | Choked vapour at the evaporator exit. | stated |
| Viscous limit | Busse (1973) viscous (vapour-pressure) limit, Q = A_v r_v² h_fg ρ_v P_v / (16 μ_v L_eff) | Low-temperature start-up regime. | stated |
| Condenser limit | Condenser rejection, Q = h A (T_c - T_sink), from the link's own condenser film and sink | The link's own condenser film and sink. | stated |
| Evaporator heat-flux limit | Evaporator heat-flux limit over the heated footprint: the smallest of Chi's boiling flux, a datasheet flux, and the flux at which this wick structure typically dries out (Faghri 2016; Reay et al. 2014) | Smallest of the boiling flux, a datasheet flux and the typical dry-out flux for the wick structure. | stated |
| Contact conductance | |||
| Cooper-Mikic-Yovanovich (plastic) | Cooper, Mikic & Yovanovich (1969), Int. J. Heat Mass Transfer 12, 279-300; Yovanovich (2005), IEEE Trans. CPT 28(2) 182-206 | P/H_c <= 0.2; combined roughness 0.1 to 10 um; asperity slope 0.02 to 0.4. Nominal bulk hardness (the default) is flagged as optimistic. | warned |
| Mikic (elastic) | Mikic (1974), Int. J. Heat Mass Transfer 17, 205-214 | As CMY; for hard, brittle surfaces that do not flow plastically. | warned |
| Gas gap with rarefaction (Yovanovich) | Yovanovich (2005), IEEE Trans. CPT 28(2) 182-206 | Continuum through free-molecular gaps via the gas parameter M; accommodation coefficients from the gas table. | stated |
| Asperity slope m = 0.125 (sigma / 1 um)^0.402 | Antonetti, White & Simons (1991) | Combined roughness 0.1 to 10 um. | warned |
| Fluid network | |||
| Darcy friction: 64/Re laminar, Haaland turbulent | Haaland (1983), J. Fluids Eng. 105, 89-90; Shah & London (1978) for rectangular fRe | Laminar below Re 2300; Haaland above 4000 (within about 2 % of Colebrook); linear blend between (warned). | warned |
| Internal Nu: fully developed laminar, Dittus-Boelter turbulent | Dittus & Boelter (1930); Incropera Eqs. 8.55, 8.60 | Laminar Nu 3.66 (a conservative floor) below Re 2300; Dittus-Boelter for Re >= 1e4 and Pr 0.6 to 160 (4000 to 1e4 is extrapolated, warned); blend between. | warned |
| Internal Nu: Hausen developing laminar, Gnielinski turbulent (opt-in) | Hausen (1943); Gnielinski (1976) | Gnielinski for Re 3000 to 5e6, Pr 0.5 to 2000; Hausen entry below 2300; blend between. | warned |
| Fittings and valves: tabulated K factors | Idelchik, Handbook of Hydraulic Resistance | Fully turbulent, isolated fittings; interaction between close-coupled fittings is not modelled. | stated |
| Heat into a stream: effectiveness-NTU against the wall | Incropera, Section 8.3.1 (constant surface temperature) | Wall at one temperature along the component; the stream cannot leave hotter than the wall. | closed form |
| Printed circuit boards | |||
| Two-plate finite-volume board mesh | This engine; checked against validation cases A19 to A26 | Board thin against the features on it; in-plane conduction shared equally by the faces; at most 4,000 cells (the component cells are kept, open areas coarsened, and the mesh says so). | warned |
| Shaped boards: cells clipped to the outline | This engine (Sutherland-Hodgman clipping of each cell against the outline and its cut-outs) | Any simple polygon with polygonal cut-outs; arcs are taken as chords of at most 10 degrees. A cell less than 0.01 % on the board is dropped; heat capacity, convection and in-plane links scale with the fraction that is board. | closed form |
| Imported parts: theta_JB through the exposed thermal pad | This engine; theta_JB as JEDEC JESD51-8 defines it (junction to the board at the part, pad soldered) | A pad named EP/PAD/TAB, or more than four times every other pad's area. theta_JB is spread over the cells the pad covers, by area, summing to the datasheet figure; without an identified pad, over the body. | stated |
| Imported boards: per-region kx, ky, kz from the copper layout | Rule of mixtures within a pixel; series-parallel and parallel-series resistor-network bounds per region and layer, combined as their geometric mean (exact for stripes and, by Dykhne (1971), for a two-phase checkerboard); layers in parallel in-plane and in series through; plated barrels in parallel through | Copper resolved to the raster pitch (0.1 mm or finer on boards up to about 50 x 50 mm); regions no smaller than two pixels; plating 25 um and air-filled barrels unless entered; internal negative planes taken as solid; copper within 1 mm of the outline excluded from the in-plane bounds. Every assumed thickness and conductivity is listed in the import's stack-up table. | stated |
20. Studies: sweeps, optimisation, envelope
Studies re-solve the same model with changed inputs and add no physics of their own. With a coolant loop, all except the operating envelope hold the loop at its base-design solution (section 16). Transient metrics reduce the full-resolution statistics of each run (section 7).
- Parameter sweep: one or two parameters over a grid (at most 2,000 points), tabulating a scalar metric.
- Optimisation: one parameter at a time. A coarse scan across the stated range (9 points by default) brackets the optimum, then golden-section refinement finds a minimum, maximum or target value within it (at most 200 evaluations), with an optional constraint on a second metric. It finds the best point the scan brackets. If the metric has several optima finer than the scan spacing, it can miss the global one.
- Operating envelope: steady operating points across a range of conditions, each solved fully coupled. Mission profiles (time sequences) can be described but are not solved. There is no transient envelope.
- Engineer Advisor: a heat-path and bottleneck decomposition at the solved, linearised state. Each link's share of a hotspot's rise is R ∂Ti/∂R. For a non-linear network these shares are first-order, at the linearised state. Every recommended change is priced by a full re-solve.
- Monte Carlo and one-at-a-time sensitivity are described in section 23, and calibration in section 24.
21. Verification
Verification shows that the implemented equations are solved correctly. It does not show that they describe the hardware. The evidence is of three kinds.
Unit and regression tests
The repository holds about 1,400 test methods across 54 test files. They cover energy and mass conservation, symmetry, limiting cases, correlation implementations against textbook worked examples, solver paths, import, and regression against stored golden results. Some of them test non-physics parts of the product (accounts, storage, billing). Regression ("golden") tests detect change. They do not show that the stored answer was right.
The benchmark suite, classified
The engine's benchmark suite (shown as "validation cases" in the product) has 46 cases and 148 compared quantities. All pass in the recorded run (engine 4.16.0, 2026-10-01). Under the definitions of section 4, the suite is overwhelmingly verification:
| Suite tier | Cases | Quantities | Reference | Classification | Tolerance and observed error |
|---|---|---|---|---|---|
| A – Analytical | 36 | 113 | Closed-form solutions, conservation, symmetry, limits (conduction, radiation, transient, board, fluid, coupling, contact consistency) | Verification. A07 and A19 are numerical-convergence checks (time step and mesh). | 17 quantities are pass bands. 96 have tolerances from exact (zero) to 6 % relative. Worst relative deviation among toleranced quantities: 2.2 % (A29, the 0.19 K a coating adds, a small difference of two rises; reported, not asserted). Next: 1.6 % (A24, a limit approached asymptotically). |
| B – Independent correlation | 7 | 22 | Re-derivation of the same published correlation (B01–B03), a bracketing pair (B04), an alternative correlation (B05, B06), a published worked calculation (B07) | Verification and cross-verification. B06 also quantifies correlation-to-correlation spread, which is model-form uncertainty, not error. | 7 pass bands. 15 toleranced, from 10−12 to 30 %. Worst: 12.6 % (B06, Dittus–Boelter against Gnielinski, reported, not asserted). |
| C – Published experimental range | 2 | 9 | C01: measured stainless-steel contact conductance (band spanning 10×). C02: the shipped minor-loss K values against handbook ranges. | C01 is the only comparison with measured data. It is a coarse bound check. C02 checks input data against handbook tables (which derive from measurements). It is a data check, not model validation. | 7 pass bands; 2 arithmetic identities. |
| L – Known limitation | 1 | 4 | L01: two grey plates | Documentation of a modelling limitation; neither verification nor validation | See the note below. |
| Total | 46 | 148 |
Notes on reading the suite.
- Relative deviations are computed on Celsius values for temperature quantities: (actual − expected)/|expected| with temperatures in °C. Such a deviation depends on the temperature origin, and a percentage tolerance on a Celsius temperature is not a tolerance on the temperature rise. As an example, A18 reports 0.06 % on a temperature of 30.14 °C. That is an error of 0.017 K on a rise of about 10 K above ambient, or about 0.17 % of the rise. Errors should be read in kelvin or as a fraction of the rise.
- A19 uses a board on which a uniform two-fold refinement fits within the 4,000-cell cap, and checks that it does (section 14).
- L01 holds both plates at fixed temperatures and measures the plain link's over-prediction, 1.4, directly. It also checks both exact remedies: the effective emissivity and the two-surface link.
- "Pass" means the stated tolerance or band was met. A wide band (C01 spans a factor of ten) passes a wide range of answers.
The full case list, with every reference value, engine value and deviation, is on the validation page. The product labels these cases "validation". In this manual's terms they are a verification and benchmark suite, plus one coarse experimental bound check.
46 of 46 validation cases pass (engine 4.16.0, run 2026-10-01). 148 quantities are compared. Every case, with its reference and error.
| Tier | Cases | Pass | What it means |
|---|---|---|---|
| A – Analytical | 36 | 36 | The reference is a closed-form solution with no empirical content. A failure here is unambiguously a defect in the engine. |
| B – Independent correlation | 7 | 7 | The reference is a different published correlation, re-derived from its own equation, so an error on either side shows. The tolerance is the agreement the two are published as having. |
| C – Published experimental range | 2 | 2 | The reference is a band that measurements of this configuration fall in. Passing means landing inside the band; it cannot confirm a number to three figures. |
| L – Known limitation | 1 | 1 | Not validation: an effect the engine does not model, stated with the size of the gap and the workaround. Passing means the gap is still the size stated. |
22. Validation
Validation is comparison with physical measurement for an intended use. The current validation evidence is:
- One coarse comparison with measured data (C01, contact conductance of ground stainless steel in vacuum, against a published band spanning a factor of ten).
- Indirect validation through published correlations. Each correlation was fitted to, and validated against, experimental data by its original authors within its stated range. The engine reproduces those correlations (verification), so their published accuracy carries over to their intended use. It does not carry over to a product whose geometry and flow differ from the idealisation.
Not validated:
- any complete thermal model against measured hardware temperatures;
- the PCB model (effective properties, two-plate idealisation, θJB coupling) against a measured board;
- the heat-pipe and vapour-chamber models against measured devices;
- the fluid network against measured pressure drop, flow distribution or heat pick-up;
- thermal-fluid coupling against a measured loop;
- transient response against measured transients;
- property data. CoolProp and the handbooks are their own authorities; the engine uses them.
The largest source of error in a real model is almost always whether the model represents the hardware: boundary conditions, convection coefficients, contact resistances, airflow and power. No solver verification addresses this. Calibrating against test data (section 24) and checking the calibrated model against held-out data is how a specific model is validated for a specific use.
23. Uncertainty and sensitivity
Kinds of uncertainty
| Kind | Examples | Addressed by |
|---|---|---|
| Parameter (input) uncertainty | Power, convection coefficient, TIM resistance, contact conductance, airflow | Monte Carlo, sensitivity, sweeps |
| Manufacturing variability | TIM bond-line thickness, flatness, torque, via plating, part-to-part θJB | Monte Carlo with distributions from production data |
| Environmental uncertainty | Ambient temperature, altitude (air density), inlet coolant temperature, orientation | Operating envelope, sweeps |
| Correlation uncertainty | Scatter of a correlation about its own data | Treat the coefficient as an uncertain input (for example a multiplier with a distribution). It is not included automatically. |
| Model-form uncertainty | Isothermal nodes, idealised geometry, two-plate board, coolant without thermal mass in transients, frozen coolant in studies, missing physics | Not addressed by Monte Carlo. Assessed by comparing alternative model forms (for example Dittus–Boelter against Gnielinski, finer nodes) and by validation against test. |
| Numerical uncertainty | Iteration tolerance, time step, mesh | Convergence checks (section 29) |
| Measurement uncertainty | Thermocouple accuracy and placement, power measurement | Calibration weighting (section 24) |
Monte Carlo
Inputs are sampled from normal (or tolerance), uniform, triangular or lognormal distributions, by simple random or Latin hypercube sampling with a reproducible seed. The default is 500 samples. At most 20,000 are allowed for steady metrics and 400 for transient metrics. Samples are clipped to stated bounds and counted. Inputs are sampled independently; correlation between inputs is not represented. Failed samples are excluded and counted. The result gives the metric's distribution, percentiles, running mean and 95th percentile (to judge whether the sample count was enough), Pearson and Spearman correlations of each input with the output, and with a specification limit the fraction outside it with a 95 % Wilson interval and a normal-fit Cpk.
What Monte Carlo does not do. It propagates the uncertainty of the inputs that are made uncertain, through the model as built. It does not quantify model-form uncertainty, correlation uncertainty that has not been entered as an input, or error from a model that omits a heat path. A narrow Monte Carlo spread is a statement about the inputs, not about the model's fidelity. A normal-fit Cpk assumes the output is normal, which it often is not (check the histogram).
Sensitivity
One-at-a-time sensitivity (a tornado) moves each input down and up by a stated fraction of itself (10 % by default) and re-solves. It is local and ignores interactions. Monte Carlo rank correlation is the global complement.
24. Calibration and hardware correlation
The engine includes a calibration module for the thermal network. It fits chosen parameters to measured data and then assesses what the fit means.
Data
An experiment is a steady or transient run. Its channels map to network nodes: measured temperatures (outputs the model must reproduce), measured or constant power (inputs written into node loads), and measured or constant boundary temperatures. Each temperature channel carries a measurement uncertainty σ; the default is 0.5 K. Preprocessing works on a copy of the data and records every step in an audit log. Each experiment is tagged as a calibration or a validation dataset.
Fit
The residual for each measured point is (model − measured)/σ, weighted so that each channel has equal influence however many samples it logged. Where a parameter has a nominal value and an uncertainty, a prior term is added. Objectives are χ², weighted least squares, RMSE, MAE or maximum error. Optimisers are Levenberg–Marquardt or Nelder–Mead, with multistart (3 starts by default) within parameter bounds. The plain χ² is always reported.
Assessment
- Identifiability: from the Jacobian at the calibrated point, the sensitivity of the readings to each parameter, the parameter covariance (scaled by reduced χ² and by residual autocorrelation, because neighbouring samples of a transient are not independent), the correlations between parameters, and the eigenvectors of the information matrix. Each parameter is graded good, moderate, poor or none by explicit thresholds. Example: two resistances in series observed only at their ends cannot be separated, and the analysis says so.
- Residual analysis: patterns in the residuals that indicate a structural model error rather than noise.
- Validation against independent data: predictions for datasets the fit never saw, and leave-one-experiment-out cross-validation.
What calibration can and cannot do
- Calibration reduces the discrepancy between a model and the measured hardware under the tested conditions. It does not show that the model is physically correct, or that it predicts well outside those conditions.
- A calibrated multiplier absorbs every error in its path: correlation error, contact error, geometric simplification, and errors elsewhere that happen to correlate with it. Report it as an empirical correction factor.
- Fitting more parameters than the data can identify will over-fit: the residuals fall and the predictions get worse. Use the identifiability grades, fix unidentifiable parameters at nominal values, and prefer fewer, physically meaningful parameters.
- To demonstrate predictive capability, validate on data not used in the fit: a different power level, ambient, flow rate or duty cycle. Agreement on the calibration set alone is not evidence of predictive capability.
- Calibration cannot compensate for an unmeasured input that changes between tests, or for thermocouple placement errors. These must be controlled in the test.
25. How much should I trust this result?
A result should be judged on at least five separate dimensions. A model can be excellent on one and poor on another, and a numerically converged result can still be physically unreliable.
| Dimension | Question | How to check |
|---|---|---|
| 1. Numerical convergence | Is this the solution of the model as built? | Converged flag; node energy balance near zero for components; coupling converged; time-step halving and mesh refinement change the answer negligibly |
| 2. Correlation validity | Is every correlation used inside its range and for a geometry it describes? | No "warned" flags; "stated" ranges checked by hand; transition-band warnings absent; idealised geometry resembles the real one |
| 3. Property-data quality | Are properties those of the actual materials? | Supplier or measured data replace library values; no out-of-range property flags; contact microhardness measured or bracketed |
| 4. Model-form adequacy | Does the network represent the physics that matters? | Node granularity adequate (refine and compare); spreading included; radiation included where relevant; airflow distribution known; quasi-steady or frozen coolant and two-plate assumptions acceptable for the question |
| 5. Input uncertainty | How uncertain are power, coefficients and boundaries, and what does that do to the answer? | Sensitivity and Monte Carlo on the uncertain inputs; margin to the limit compared with the spread |
A converged result can be physically unreliable when:
- a correlation is used outside its validated range or for a geometry it does not describe;
- contact conductance governs and is uncharacterised;
- material properties are nominal, and the actual alloy, grade or filler is unknown;
- geometry has been simplified past the point where spreading or local gradients are represented;
- airflow distribution (bypass, recirculation, maldistribution) is unknown;
- a body with significant internal gradients is represented by one isothermal node;
- a coolant loop's own thermal mass matters in a transient, or a study varies parameters that move the frozen coolant;
- a two-phase device operates near or beyond its modelled limit;
- there has been no experimental calibration or validation of a similar configuration.
As a rule, the engine's numerical error, once converged, is much smaller than the uncertainty in convection, contact and property inputs. Effort is better spent narrowing those inputs than tightening tolerances.
Recommended result-confidence framework
The following is a recommended interpretation framework. The engine does not currently assign these categories as a single status. It does return the ingredients: converged flags, correlation validity flags, property-range flags, coupling convergence, transition and heat-pipe capacity warnings, and representative-data labels. A future interface could combine them into this status.
| Status | Criteria | Meaning |
|---|---|---|
| VALID | Numerically converged (thermal, fluid, coupling). Every correlation inside its documented range. No property-range flags. No transition-band or capacity warnings. | The model is being used within the regimes its methods are documented for. This is not a statement of physical accuracy. |
| WARNING | Converged, but one or more correlations or properties outside preferred ranges, transition-band operation, contact with bulk hardness, a heat pipe near capacity (safety factor near 1), coolant loop thermal mass significant in a transient, compressibility or time-step warnings | Usable with judgement. Quantify the affected inputs in a sensitivity study. |
| INVALID / OUT OF RANGE | Not converged; temperature-threshold safeguard triggered; a two-phase device beyond its limit; gas flow likely compressible; required physics outside the engine's scope | Do not use the number for design. |
| ESTIMATE | Strong dependence on representative or default data (library TIMs, pumps, fans, nominal materials), on uncharacterised contact, or on assumed import stack-up values | Suitable for sizing and comparison, not for a final design, until those inputs are replaced or bracketed. |
A result may carry more than one status, for example VALID numerically and an ESTIMATE in its data. INVALID takes precedence.
26. Assumptions
- Each node is isothermal. Gradients within a body are represented only by dividing it into more nodes, or by a board's mesh.
- Link conductances are evaluated at the link's mean temperature. Film properties are taken at the film, bulk or free-stream temperature as each correlation requires. Properties outside a material's range are held at the range limit.
- Convection coefficients are surface averages from correlations for idealised geometries, or values supplied by the user.
- Radiating surfaces are grey, diffuse, opaque and isothermal. There is no participating medium, view factors take no account of obstruction, and only entered links and enclosures exchange radiation.
- Fluid flow is incompressible, steady and one-dimensional, with one mixed-mean temperature per node and perfect mixing at junctions. Properties are held along a component at its inlet state.
- A wall exchanging heat with a stream is at one temperature along the component.
- In transients the coolant loop is quasi-steady: re-solved as the walls move, with no heat capacity of its own. In studies other than the operating envelope it is held at its base-design solution.
- Transient non-linear conductances and capacitances are lagged by one step.
- Board properties are effective values for the whole stack-up, or per region for an imported layout. In-plane conduction is shared equally by the two faces.
- Contact conductance assumes nominally flat surfaces with Gaussian roughness and uniform pressure, and uses bulk hardness unless a contact microhardness is supplied.
- Heat pipes beyond their limit carry Qmax plus envelope conduction (optimistic relative to dry-out).
- Built-in material, TIM, pump and fan data are nominal or representative.
27. Known limitations
What the engine does not model, what that does to an answer, and what to do about it. The first four are printed on every report.
No three-dimensional airflow
- What
- Air is never solved as a flow field. A convection coefficient comes from a correlation for a named geometry (a plate, a channel, a heat sink, a jet) or is typed in; a fan-cooled enclosure's air is a fluid network of ducts and fittings with one mixed temperature per node.
- Effect
- Recirculation, bypass round a heat sink, hot spots behind a tall part and flow maldistribution between parallel channels are not predicted. The coefficient a correlation returns is an average over the surface.
- What to do
- Bracket the answer: run the study with the coefficient at the low and high ends of its plausible range. Where airflow detail decides the design, use CFD for the flow and bring the coefficients back here, or correlate the model to a thermocouple test.
Radiation is exchanged only where it is defined
- What
- Surfaces exchange radiation only through a radiation link or a radiation enclosure that you draw. Nothing is detected from geometry: there is no 3-D model to find which surfaces see each other. A single radiation link uses one emissivity and one view factor; the full grey-body exchange, with reflections between surfaces, is solved only inside a defined enclosure (validation case L01 shows the size of the difference).
- Effect
- Radiation you leave out is heat the model does not remove, which is conservative. Two grey surfaces joined by a plain link rather than an enclosure exchange too much, which is not.
- What to do
- For two or more surfaces that see each other, define an enclosure. Surfaces are grey and diffuse, with no participating medium and no specular reflection; the numerical rectangle view factor ignores third surfaces that would block the view.
No transient operating envelope yet
- What
- The operating envelope evaluates steady operating points only. Mission profiles (a sequence of conditions in time) can be described but are not yet solved. A single transient run of the model is available.
- Effect
- Worst cases that depend on timing - a soak followed by a power burst, a fan failure part way through a mission - are not found by the envelope, and a steady worst case may be pessimistic for a short pulse or optimistic for a long one.
- What to do
- Run the transient analysis on the specific sequence you are worried about, with the loads and boundaries set to that case.
Incompressible flow only
- What
- Fluid networks are solved as incompressible and steady: density is taken at each component's inlet state and held along it, and the flow has no inertia or storage. In a transient the loop is re-solved quasi-steadily as the walls warm. Compressors and compressible duct flow are refused with an error rather than solved.
- Effect
- Appropriate for liquids, and for gases where the velocity is low against the speed of sound and the pressure change is a small fraction of the absolute pressure. High-speed gas flow, choking, compression heating, pressure waves and water hammer are not represented. A gas component past about Mach 0.3, or with a pressure change past about 10 % of its inlet pressure, is warned.
- What to do
- Heed the compressibility warnings. Their thresholds (Mach 0.3, roughly 100 m/s in room-temperature air, and a 10 % pressure change) are engineering conventions, not physical limits. Split a long gas line into several components so density is re-evaluated along it.
Non-linear transients are semi-implicit, with no error control
- What
- Transients use backward Euler. For a network with radiation, contact, correlation-driven or temperature-dependent links the conductances are taken from the start of each step and not iterated within it. There is no adaptive step and no error estimate.
- Effect
- Stable at any step, but stability is not accuracy: backward Euler is first order, and a step that is large against the network's time constants smooths peaks and lags the response. The engine warns when the step is coarse for a load profile, or more than 0.3 of the time constant of a node holding a material share of the heat capacity; it has no error estimate beyond that.
- What to do
- Start near a tenth of the fastest relevant time constant, then halve the time step and confirm the answer stops moving.
Coolant loops are quasi-steady in transients and frozen in studies
- What
- A transient re-solves the coolant loop against the wall temperatures whenever a ported wall has moved by more than 0.01 K, but the coolant, its pipes and any reservoir store no heat, and flows follow the walls without inertia. Sweeps, optimisation, Monte Carlo, sensitivity and the advisor solve the loop once at the base design and hold it while the thermal parameters vary. The steady solve and the operating envelope re-solve the full coupling.
- Effect
- A loop whose own thermal mass matters (a large reservoir, long pipe runs) warms too quickly in a transient. A study whose parameters change the coolant flow or heat pick-up sees the base-design coolant.
- What to do
- Represent a reservoir or loop thermal mass with thermal nodes where it matters; check study results at their extremes with a full coupled solve.
Transient histories are thinned to 400 samples
- What
- Every step is computed, but each returned time history keeps at most 400 evenly spaced samples, plus the first and last. The maximum, minimum and mean of every series are computed from every step and returned separately, and study metrics use them.
- Effect
- A plotted curve can pass under a short peak that the reported maximum includes.
- What to do
- Read peaks from the reported statistics, not from the plotted history; shorten the run to see a peak's shape.
Heat pipe and vapour chamber start-up is not modelled
- What
- Heat pipes and vapour chambers are steady devices with capacity limits. In a transient their metal and charge store heat, but start-up, frozen-start and dry-out recovery are not simulated.
- Effect
- A transient through a heat pipe describes a pipe that is already running, and says nothing about getting it running. Beyond a limit the device is taken to carry its maximum plus envelope conduction, whereas a real pipe that dries out carries less: results past a limit are optimistic.
- What to do
- Check start-up against the manufacturer's data, and treat any operating point at or beyond a modelled limit as a failed design check rather than a temperature prediction.
Boards carry effective properties, not layers
- What
- A board is two plates, one per face, sharing the in-plane conductance equally and tied through the thickness. Which layer the copper is on, a single buried plane, a via field's detail and a pour's edges are not resolved.
- Effect
- The automatic mesh reads the junction about 1 to 2 % of its rise warm on typical boards (measured by uniform refinement), more where a part's theta_JB is near zero, which is warned. None of this is physical validation: the inputs (effective conductivity, theta_JB, the film coefficient) usually carry far more uncertainty than the discretisation.
- What to do
- Use the stack-up calculator for effective properties, re-solve with the board's refine factor at 2 to check a critical board, and bracket theta_JB and the film coefficient.
Imported layouts carry what the file states, not more
- What
- KiCad, Altium and IPC-2581 files hold no thermal conductivity, and often no dielectric thickness, plating thickness or component power. The import reads geometry and the stack-up; a dielectric whose material is not recognised is unresolved and blocks generation until assigned, and anything else is entered by the user or assumed explicitly and listed. Altium component bodies, plane splits and anti-pads are not read: parts are sized by their pads and internal planes are treated as solid copper. IPC-2581 negative feature sets on positive layers are not subtracted, and nets are not read: electrical connection is never taken as thermal.
- Effect
- Region conductivities are only as good as the stack-up and copper they came from; a solid-plane assumption overstates spreading near splits.
- What to do
- Review the stack-up table's assumptions, enter laminate and plating figures from the fabricator, and check large parts' sizes.
Contact conductance is an order-of-magnitude estimate
- What
- The Cooper-Mikic-Yovanovich and Mikic correlations disagree with each other by a factor of two and with measurement by more. The dominant unknown is the contact microhardness of the prepared surface.
- Effect
- With nominal bulk hardness (the default when no microhardness is given) the joint conducts better than a real one: an optimistic bound.
- What to do
- Supply a measured contact microhardness, or treat the joint's resistance as a range in a sensitivity study.
Built-in property data are nominal
- What
- Solid properties are handbook values near 20 to 25 °C, some with a temperature dependence. Outside a material's stated range a property is held at its value at the range limit and flagged. Fluid properties come from CoolProp. Interface materials, pumps and fans in the libraries are representative of their class, not of a product.
- Effect
- Alloy temper, ceramic grade, filler loading and a specific product's curve can each move a result by more than the solver's error.
- What to do
- Replace library values with supplier data before a result is relied on for a final design.
Laminar-turbulent transition is interpolated
- What
- Between Reynolds numbers of 2300 and 4000 (3000 for Gnielinski) friction factor and Nusselt number are blended linearly between the laminar and turbulent values.
- Effect
- Real transition depends on inlet conditions and disturbances; results in the band can be off by a factor of two, and the solver warns.
- What to do
- Move the operating point out of the band, or bracket it.
28. When to use CFD, FEA or testing instead
Reduced-order network models and higher-fidelity methods answer different questions at different levels of abstraction. Neither is inherently better.
Where this engine's approach is appropriate
- early architecture studies and concept selection;
- thermal sizing of heat sinks, cold plates, heat pipes, pumps and fans;
- trade studies and design-space exploration, where many variants must be solved quickly;
- system-level thermal budgets: where the temperature is spent along a path;
- transient response of lumped systems: duty cycles, pulses, soak and warm-up;
- interactions between components, boards and coolant loops;
- sensitivity and uncertainty studies over many inputs;
- coupled thermal and hydraulic system sizing at steady state;
- correlating a system model to test data for prediction at nearby conditions.
Where a higher-fidelity method or test may be required
| Question | Why the network cannot answer it | Typical tool |
|---|---|---|
| Airflow distribution, bypass, recirculation, flow maldistribution between parallel paths | Air is never solved as a field | CFD; flow measurement |
| Local hot spots within a part or plate | Isothermal nodes; board cells at the mesh scale | Detailed conduction FEA or CFD; IR thermography |
| Detailed conjugate heat transfer in complex passages | Correlations for idealised geometries | Conjugate CFD |
| Radiation with complex visibility and shadowing | No geometric model | Ray-tracing or Monte Carlo radiation codes |
| Compressible flow, choking, high-speed gas | Incompressible solver | Compressible flow tools or CFD |
| Thermal stress, deformation, warpage, solder fatigue | No structural model | Structural FEA |
| Heat-pipe start-up and dry-out | Not modelled | Manufacturer test; specialised two-phase models |
| Qualification, certification, final hardware correlation | Requires measured evidence | Hardware test per the governing standard |
A common workflow combines them. Size the system here, use CFD or test to determine the convection coefficients and flow split that the network takes as inputs, bring those back, and correlate the network to the prototype test.
29. Modelling guidance
This section gives concise engineering guidance only. Workflows belong in a separate Engineering Guide.
- Node granularity. One node per body is adequate when the body's internal Biot number (hL/k with L its conduction length) is well below 0.1, or when its internal resistance is small compared with the path it sits in. Otherwise subdivide it, and confirm that the quantity of interest stops changing as you do.
- Plain R against a detailed element. Use a plain resistance when the value is known from data, such as a datasheet θ, a measured TIM or a supplier curve. Use a correlation, contact, spreading or heat-sink element when the value must follow geometry, temperature or flow. Do not double-count: a datasheet heat-sink resistance already includes its convection.
- Time step. See section 7. Start at τ/10 of the fastest relevant node, resolve pulses with at least eight steps, then halve the step and compare.
- Convergence. Check the converged flags (thermal, fluid, coupling) and the node energy balance on every result used for a decision. Investigate any not-converged result before using it.
- Correlation validity. Read every warning. For "stated" ranges, check the dimensionless groups by hand. Keep internal flows out of the transition band where possible.
- Default properties. Before relying on a result for a final design, replace library materials, TIMs, pumps and fans with supplier data, and enter or bracket contact microhardness.
- Warnings. A warning means the number was computed but the method was stretched. Quantify the effect with a sensitivity study rather than ignoring it.
- Sensitivity. Run a tornado or Monte Carlo on the convection coefficients, contact and TIM resistances, power and ambient temperature. If the design margin is smaller than the spread, the design is not yet decided by the model.
- Test data. Calibrate on one set of conditions and check the prediction on another. Use calibrated multipliers only near the conditions they were fitted at.