← All case studies

Immersion Tank Boiling: 400 W Server Card in Dielectric Coolant

“Will a 400 W server card submerged in subcooled dielectric coolant stay under its 95 °C limit, with boiling confined to the card instead of blanketing it?”

CONDITIONAL CFD — conjugate heat transfer with Lee-model boiling phase change (structured finite volume) · unedited output from a real Smidr run

The ask

A 2D section of an immersion-cooling tank: a 400 W server card submerged in a Novec-7100-class fluorocarbon coolant (saturation temperature 61.0 C), with the bulk subcooled by 5 K and a film-condensation plate on the top boundary rejecting heat. Localized nucleate boiling was expected at the card wall. The client wanted a screening verdict gated on two things: card temperature against its 95 C limit, and total vapor inventory — because a little boiling at the wall is the design intent, but a growing vapor blanket is a failure mode.

What the pipeline ran

The Smidr structured finite-volume solver (simforge_fv): incompressible projection on a staggered grid, first-order upwind transport, conjugate heat transfer with per-solid film coefficients, Boussinesq buoyancy, and a Lee-model homogeneous two-phase mixture with a wall-condensation closure, run laminar. The 0.2 m x 0.15 m domain was meshed at 40 x 30 x 1 (1,200 cells; the card spans 6 cells at its smallest feature). The transient ran 6,000 time steps to 58.2 s of physical time (final dt 8.0 ms) in 3.2 s of wall time, then seven automated QA checks — stability, incompressibility, energy balance, resolution, card temperature gate, vapor inventory gate, phase-fraction bounds — evaluated the result and issued the verdict.

The verdict

CONDITIONAL
  • All seven automated QA checks passed, so the tool's raw verdict is GO: card peak 71.6 C vs 95 C limit, vapor inventory 0.21% (localized boiling), clean numerics.
  • The report itself downgrades that to conditional: steady state was not reached (steady_reached = false), so 71.6 C is an instantaneous value at t = 58.2 s of a still-heating transient — a lower bound on the eventual steady temperature.
  • Energy balance closes only to 7.2% (~28.6 W unaccounted), loose but typical of an unconverged transient with active phase change.
  • The 1,200-cell grid is coarse for grid-sensitive boiling heat transfer and no mesh-refinement study was run, so the 23.4 K margin carries unquantified discretization error.

Key numbers

MetricValueNote
Card peak temperature71.6 Cvs 95 C limit — 23.4 K margin, but taken at t = 58.2 s of a still-heating transient, so treat as a lower bound
Heat input400 Wvolumetric source in the server card
Condenser heat rejection364.7 W91.2% of input through the top condensation plate, plus 6.6 W still going into thermal storage
Energy balance error7.2%~28.6 W unaccounted — passes the check but too loose for fine heat-split claims
Peak local vapor fraction6.2%thin near-wall boiling layer at the card; domain-average vapor inventory 0.21% — boiling stays localized
Grid40 x 30 (1,200 cells)coarse screening mesh; no refinement study, so discretization error on the margin is unquantified
Simulated time58.2 s (6,000 steps)steady_reached = false — the run ended before the tank equilibrated
Numerical cleanlinessdiv 4.2e-15 1/spost-projection divergence at machine precision; mass balance error exactly zero; vapor-fraction bound violation 6.2e-9
Wall time3.2 sfull pipeline including QA checks and report; solver core 2.6 s

Quality, stated plainly

The pipeline's own report refuses to let the GO stand unqualified. All seven automated checks passed, and the numerics are demonstrably clean — divergence at machine precision, exactly zero mass-balance error, negligible phase-fraction clipping. But the executive summary states plainly that the solution did not reach steady state: 6.6 W is still charging the fluid, the 7.2% energy imbalance is a loose closure typical of an unconverged two-phase transient, and every headline number is an instantaneous snapshot at 58.2 s, not a converged design value. No mesh-refinement study was performed on a quantity — boiling heat transfer — that the report flags as strongly grid-sensitive, and the laminar assumption is challenged in the report itself with a back-of-envelope Re of about 3e4 in the plume. The recommendations are concrete: run to steady state (storage near 0 W, imbalance under 2-3%), refine the mesh at 80x60 and 160x120, add or justify a turbulence model, and extend to 3D worst-case conditions before treating the verdict as design-qualifying.

Figures from the run

Temperature field at t = 58.2 s: the 400 W card peaks at 71.6 C with a single buoyant thermal plume rising to the condenser plate; bulk fluid holds near the 56 C subcooled target.
Temperature field at t = 58.2 s: the 400 W card peaks at 71.6 C with a single buoyant thermal plume rising to the condenser plate; bulk fluid holds near the 56 C subcooled target.
Vapor fraction: boiling is confined to a thin layer at the card wall and a narrow rising column (peak 6.2% locally, 0.21% of the domain) — localized nucleate boiling, not a vapor blanket.
Vapor fraction: boiling is confined to a thin layer at the card wall and a narrow rising column (peak 6.2% locally, 0.21% of the domain) — localized nucleate boiling, not a vapor blanket.
Velocity magnitude: buoyancy-driven circulation peaks at 0.13 m/s in the plume, with symmetric recirculation cells carrying heat to the top condensation plate.
Velocity magnitude: buoyancy-driven circulation peaks at 0.13 m/s in the plume, with symmetric recirculation cells carrying heat to the top condensation plate.

Why this matters

If you manage engineers, you have seen the failure mode this service is built against: a simulation that reports a comfortable margin without mentioning that the answer never converged. Here the automated gates said GO — and the report immediately told you exactly how far to trust that: the card is 23.4 K under its limit at 58.2 s of a transient that is still heating, on a coarse grid, with the specific re-runs needed to firm the number up. You get the verdict, the margin, the error bars the pipeline could quantify, and a named list of the ones it could not. That is the difference between a tool that sells you a green light and one you can put in front of a design review. The 3-second wall time means the recommended follow-ups — steady-state run, two mesh refinements, sensitivity sweeps — are minutes of compute, not a consulting engagement.

Scope of this run

Your part. Your question. Same rigor.

Send us the geometry and the question — get the analysis, the honest error bars, and a verdict you can defend.

Request pilot access