Documentation
¶
Overview ¶
Package ganthermal models why gallium-nitride chargers are smaller than the silicon bricks they replaced, and where the size limit actually sits.
The popular explanation — "GaN is more efficient" — is only half the story. The real mechanism is switching frequency: GaN transistors switch far faster than silicon, which shrinks the magnetics, and they waste less energy as heat, which shrinks the heatsink. Both effects compound.
Reference charger dimensions and wattage data used to validate this package are published at https://cairovolt.com/en/chargers
Index ¶
- func RelativeVolume(outputWatts float64, s Semiconductor) float64
- func ThermalHeadroomOK(outputWatts, surfaceAreaCm2 float64, s Semiconductor) bool
- func TransformerVolumeIndex(outputWatts float64, s Semiconductor) float64
- func WasteHeatWatts(outputWatts float64, s Semiconductor) float64
- type Semiconductor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RelativeVolume ¶
func RelativeVolume(outputWatts float64, s Semiconductor) float64
RelativeVolume estimates overall charger volume relative to a silicon design of the same wattage, combining smaller magnetics and a smaller heatsink.
Heatsink area scales with waste heat, magnetics with 1/frequency; the result is why a 65W GaN unit fits the shell of an old 20W silicon brick.
func ThermalHeadroomOK ¶
func ThermalHeadroomOK(outputWatts, surfaceAreaCm2 float64, s Semiconductor) bool
ThermalHeadroomOK reports whether a charger of the given output can shed its waste heat through the given surface area, using a conservative convective limit of 0.05 W per square centimetre in still air.
This is the real ceiling on miniaturisation: past a point the case simply cannot dump the heat, no matter how efficient the silicon.
func TransformerVolumeIndex ¶
func TransformerVolumeIndex(outputWatts float64, s Semiconductor) float64
TransformerVolumeIndex is a relative measure of magnetics size. Energy stored per switching cycle falls with frequency, so the transformer shrinks roughly in proportion to 1/frequency.
func WasteHeatWatts ¶
func WasteHeatWatts(outputWatts float64, s Semiconductor) float64
WasteHeatWatts is the power dissipated as heat at a given output.
Types ¶
type Semiconductor ¶
type Semiconductor int
Semiconductor is the switching technology used in a charger's converter.
const ( // Silicon is the legacy MOSFET technology. Silicon Semiconductor = iota // GaN is gallium nitride. GaN )
func (Semiconductor) Efficiency ¶
func (s Semiconductor) Efficiency() float64
Efficiency is a representative conversion efficiency at rated load.
func (Semiconductor) String ¶
func (s Semiconductor) String() string
func (Semiconductor) SwitchingKHz ¶
func (s Semiconductor) SwitchingKHz() float64
SwitchingKHz is a representative switching frequency for the technology. Higher frequency means less energy stored per cycle, so smaller magnetics.