main
John Lauer adom-fields 0.7.19: barrelCoupling report (PR #212), one plated connection per hole per layer pair, current-barrel issu… e4c4246

Plated holes in the field screen

The previous model painted a solid copper disc across each via drill and attached its complete vertical conductance to the center solve cell. That produces a point-transfer singularity: refining the mesh can increase an apparent copper peak inside a physical hole. On the electronic-load v18 diagnostic at 0.1 mm, the complete worst GND and SHUNT_P cells lie inside 0.6 mm drills. Their reported 102.24 and 78.40 A/mm² values cannot describe surface copper in those cells. The drain peak cell intersects a drill boundary and must not be dismissed solely because its center lies in the hole.

This change subtracts the circular/rotated oblong plated drill after drawing tracks, pads and fills. It distributes vertical coupling around the plated wall, using uniform arc-length quadrature at the middle of the assumed 25 µm plating. Total barrel conductance remains conductivity × barrel area / layer distance. The DC projection uses cells with resolved copper on both faces and reports the retained perimeter fraction. A missing resolved wall or out-of-grid loaded connection refuses that net; the CLI's existing completeness check rejects the report. Nonzero drill offsets are explicitly unsupported.

The same perimeter weights distribute thermal barrel coupling and the per-part barrel heat-flow accounting. This does not add a package/case/heatsink model. Existing FR4 and chip heat-source approximations remain; a drilled hole is removed from copper but not meshed as a separate 3D air cavity.

Every net now includes platedConnections: position, adjacent modeled layers, signed current, assumed barrel area, mean barrel current density and resolved perimeter fraction. current-barrel issues use the same configured screening density threshold. Mean barrel density and the unclipped surface-cell maximum are different quantities and both require review. barrelCoupling identifies the model; old reports must be re-solved, not stamped with new metadata.

Tests check drill subtraction despite overlapping copper, rotated slots, conserved distributed conductance, terminal-current conservation through a lone plated connection, and a two-mesh fixture. Its surface maxima were 12.19 and 14.84 A/mm² at 0.2 and 0.1 mm; this is a bounded regression check, not universal mesh convergence. For real boards inspect finer meshes, individual connections, copper coverage, material assumptions and boundary currents. The model remains a screening approximation, not manufacturing or thermal qualification.

Report (0.7.19)

summary.barrelCoupling names the model. Each net's platedConnections holds one entry per hole (vias and plated pads) per adjacent pair of the net's layers, so its length is (vias + platedPads) × (layers − 1). resolvedPerimeterFraction is the share of the wall's quadrature weight that landed on cells with copper on both faces; when none did, the connection uses the nearest copper cells, says fallback: true, and reports a token 0.001. unconnected: true marks a hole with no copper near it on that pair (its amps are 0). A meanBarrelJ over the --neck threshold is a current-barrel issue.