Adom Fields
Public Made by Adomby adom
Adom Fields: where the current and the heat go on your board.
Hot part rise and via count reported at the first tab-net pad, not the exposed pad
What happens
For a hot part whose tab net has several pads (an HTSSOP-28 with an exposed pad: GND on pins 6, 22 and the exposed pad 29), adom-fields analyze spreads the watts over all those pads by area (good), but reports the part's riseC, riseMovingC, vias and the tab-rise / thermal-vias issues at cells[0], the first tab-net pad in board order: here pin 6, 2.9 mm from the exposed pad.
So a board with a 2 x 5 via grid in the exposed pad gets vias: 3 (the vias within 3 mm of pin 6) and a thermal-vias issue asking for 12, and the reported rise is pin 6's, not the die pad's.
Where
src/fields.rs: chip_pos.push((reference.clone(), cells[0].0, cells[0].1, ...)) after pads is filtered by p.net == hot.tabNet.
Suggestion
Report at the largest tab-net pad (the exposed pad by area), or at the area-weighted centroid of the tab-net pads; count vias within the radius of every tab-net pad (or of the largest). Optionally a spec field hot.<ref>.tabPad to name it.
Seen with adom-fields 0.9.5 on a TMC2226 driver molecule (KiCad 10.0.5 board, footprint Package_SO:TSSOP-28-1EP_4.4x9.7mm_P0.65mm_EP2.85x6.7mm). Moving pad 29 first in the footprint file does not help: KiCad stores pads by number.