Expand description
Current as a field, so I²R is a consequence of a shape rather than a number somebody typed.
Winding states its resistance from ρL/A and dissipates I²R. That is
exactly right for a wire, which is a uniform bar, and it is the model a motor designer
actually uses. It is also the whole of what a lumped electrical model can say: given R, it
returns I²R, and the interesting question — where the heat is, and why R is what it is —
is assumed rather than answered.
A Conductor is the other half. It is a block of material with a conductivity per cell and
two electrodes, and it solves for the potential:
∇·(σ ∇φ) = 0 inside
φ = 0, φ = V on the two electrodes
J·n = 0 everywhere elseFrom that, J = −σ∇φ and the dissipation is ∫ σ|∇φ|² dV. Nobody states a resistance; it
comes out, and for a uniform bar it comes out as ρL/A exactly — which is what makes this
checkable rather than merely plausible.
§What the field formulation buys
Three things a lumped resistor cannot say:
- A shape that is not a bar has no
ρL/A. A constriction, a via, a busbar with a corner, a contact patch — each has a resistance that is a property of its geometry, and the closed forms that exist for them (spreading resistance isρ/4afor a circular contact into a half-space) are limits rather than formulas you can apply to a shape. - Where the heat is.
I²Rgives a total. A current crowding into a corner dissipates in that corner, and a joint fails at the hot spot rather than at the average. This domain hands the density over as a field, so a thermal domain on the other side of the bus can take it where it landed rather than as a lump. - Series and parallel are consequences, not cases. Two materials in series add their resistances and two side by side add their conductances, and neither is coded — both fall out of the same solve. That is what the tests check, because a formulation that got one of them wrong would still look like electricity.
§Quasi-static, and why the solve is not a march
This is Kind::QuasiStatic. Charge relaxes in a metal in about ε/σ — 1.5×10⁻¹⁹ s for
copper — so on any timescale a simulation cares about the current distribution is the
solution of an elliptic problem and not the state of a marched one. Nothing here has a
stability limit, and the step is a solve rather than an advance.
§The solve, and what it refuses to do quietly
Conjugate gradients on the symmetric positive-definite system the finite-volume
discretisation gives. Deterministic: a fixed iteration order, a fixed starting vector, no
threads, no clock. Conductor::residual reports what it achieved and
Conductor::converged whether it met the tolerance — and a step that did not converge
returns a Violation rather than a plausible-looking potential field.
That last one is deliberate and is the failure this workspace keeps finding. An iterative solver that stops at its iteration cap returns something shaped exactly like an answer: smooth, bounded, roughly right in the middle and wrong at the edges. Nothing downstream can tell.
Structs§
- Conductor
- A block of conducting material with two electrodes, solved for its potential.