pcb_calc_thermal_vias
Size a thermal-via field under a power pad by solving the required via count for a target thermal resistance or scoring an existing layout.
Instructions
Size a thermal-via field under a power pad (Fourier conduction).
The thermal calcs answer "what junction-to-ambient resistance does the
part need" (required_theta_ja); this answers "how many vias get the
heat into the board". A plated via is a copper tube of axial resistance
R = L / (k * A); vias conduct in parallel (R_array = R/N). Give a
target -- target_k_per_w directly, or power_w with a delta_t_c
budget (target = dT/P) -- to solve the count, or an explicit
via_count to score a layout. Pure math, no Altium. Models the via
field's conduction bottleneck and assumes good copper spreading on the
pad and the receiving plane (a thin-copper spreading term is left to a
field solver).
Args:
drill_mm: Finished via drill diameter.
board_thickness_mm: Conduction length -- top layer to the heat- The EasyEDA and KiCad builds
spell this length_mm; either is accepted.
length_mm: Alias for board_thickness_mm.
spreading plane (full thickness for a bottom plane).
plating_um: Barrel plating thickness (default 25 = 1 oz).
filled_copper: True for a copper-filled via (full-circle copper),
False for an unfilled / resin-filled barrel (annulus only).
k_cu: Copper thermal conductivity, W/(m.K) (default 385).
power_w: Dissipation, for the target (with delta_t_c) and the
realized temperature rise.
delta_t_c: Allowed rise across the via field.
target_k_per_w: Explicit target array resistance.
via_count: Score this exact count instead of solving one.
Returns:
{"ok": True, "via_count", "single_via_k_per_w", "array_k_per_w", "target_k_per_w", "temp_rise_c", "barrel_area_mm2", "summary"}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| k_cu | No | ||
| power_w | No | ||
| drill_mm | Yes | ||
| delta_t_c | No | ||
| length_mm | No | ||
| via_count | No | ||
| plating_um | No | ||
| filled_copper | No | ||
| target_k_per_w | No | ||
| board_thickness_mm | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||