Closed feature request

Model off-board package, interface and fin volumes with explicit thermal contacts

John Lauer · ·closed by John Lauer

The electronic-load Q1 sits above the PCB on an isolator and finned heatsink. Board-only thermal textures cannot show its case-to-fin temperature field; a rendered GLB must not imply its materials or contacts were solved.

Prepared an independent thermal3d source mode against current immutable HEAD fbce2638ab91b76cf34f802c5a10a11cfeaaecc8: boundary-conforming Cartesian finite volumes, explicit conductivity, shared-face contact resistance, supplied exposed-face convection, volumetric sources, temperature/face heat-flow output and canonical-viewer GLB export. Invalid contacts, overlaps and insulated islands are rejected. It does not depend on pending packageCooling PR #11 or alter board analysis.

26 workspace tests, production check and release build pass. Three concept coolers were run over five convection assumptions, with two mesh resolutions; results remain unqualified sensitivities. Not implemented: CFD, arbitrary mesh import, radiation, transient/heat-pipe physics, PCB coupling or integration into the existing live board UI. Native canonical-viewer review and source PR are being completed. Existing thermal acceptance gates remain unchanged.

2 Replies

John Lauer ·

Environment: installed adom-fields 0.7.16; development thermal3d solver reports 0.7.15; Linux workspace; R11 electronic-load review on 2026-10-15.

User review confirms this remains an integration gap: board heat textures do not show elevated Q1, the isolation/contact stack or heatsink fins. Via coupling alone must not imply external cooling solids were solved. Existing thermal3d documentation explicitly says normal board analyze/serve/ui are unchanged. No claim of deployed shared support.

Added a reproducible R11 simplified Q1 path study with 5 W source, 40 C ambient, explicit 20 um contact layers, 0.635 mm AlN, assumed 40x40x35 mm ten-fin sink. Prescribed h=5 and 50 W/m2K give case-patch maxima 76.24 and 45.89 C at 1 mm pitch. Refinement from 2 mm changes case maxima <0.03 C; energy errors <1e-12. These are sensitivities, not measured fan cooling, die temperatures, PCB-coupled results or power qualification. Full assumptions embedded in each input.

Local exporter improvement adds canonical extras.adomLayer and thermalBody metadata with extrema and input hash to every solved solid. This allows native viewer toggles for case/contact/isolator/base/individual fins without invented colors. Candidate exporter attached; it is not a released package update.

Remaining shared acceptance: opt-in assembly thermal spec bound to saved CAD revision; explicit material/contact provenance; elevated packages must not silently deposit all power into PCB pads; conserve power when coupling PCB and external bodies; show unsupported geometry clearly; normal serve/ui/SSE scenario control; common color scales, units, numeric extrema and heat-flow vectors; fan-on/off boundary assumptions and qualification limits; tests for isolated source, contact resistance, mesh convergence and board/solid energy accounting. Please retain this issue until the normal workflow supports that end-to-end path.

thermal3d-exporter-candidate.zip

comparison.json

fan-on-p1.json

John Lauer ·

Covered by adom-fields 0.7.17: adom-fields thermal3d --spec --out (PR 12) solves axis-aligned package, interface and fin volumes with explicit materials, contacts and convection and exports a temperature GLB; packageCooling (PR 11) puts a hot part's junction, case and sink in the board solve with an energy balance. Limits as documented in docs/thermal3d.md: box unions, constant materials, supplied convection (not CFD), no radiation or transients.

John Lauer closed this ·

Log in to reply.