Two windings, and the band between them

One number from two measurements

Neither of this site's two standing checks can see a mutual inductance. A coupling adds no current anywhere, so Kirchhoff's law is unmoved by it; a coupled pair dissipates nothing, so the energy balance is unmoved too. A coupling stamped into the wrong row would produce a well-formed solution to a different circuit and both checks would pass — so the field needed a third route, and the one it uses is the bench method: connect the windings in series one way, then the other, and the difference is four times the mutual inductance.

Assumes: The band a turns ratio holds over · What a network answers, and how the answer is checked

Every solve on this site is verified twice before it is returned. Kirchhoff’s current law is rebuilt from the element relations and summed at every node; and — deliberately not a restatement of it — the resistors’ |iR is set against the sources’ Re(v i*), because current law constrains only the currents and says nothing about whether the node voltages that produced them are right.

When the magnetics phase added one element to the solver, both of those checks went blind.

A coupling adds no current anywhere. It connects to no node; it is a relation between two branches that already have currents of their own. Current law does not move.

A coupled pair dissipates nothing. It stores energy and returns it, like every other reactance, so the real-power balance does not move either.

So a mutual inductance stamped into the wrong row, with the wrong sign, into one row instead of two, or with the wrong magnitude, produces a perfectly well-formed solution to a different circuit — and this site’s two standing checks, which have caught assembly errors in every other element since the first commit, would both pass.

The coupling coefficient, from two measurements that do not know itcomputed by solving, not by drawing. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so k comes out of the difference and the geometry never enters. The recovered value matches the one stamped into the coupling to 2.4e-15 at eight couplings from 0.1 to 0.99 — which is the second route the new element needed, since neither current law nor the energy balance can see a mutual inductance at all. Their sum stays at L₁ + L₂ throughout, which is the check that the two measurements are of one pair.00.0250.0500.0750.1000.2500.5000.750coupling coefficientmeasured series inductance (H)series aiding: L₁ + L₂ + 2Mseries opposing: L₁ + L₂ − 2ML₁10.00 mHL₂40.00 mHtheir sum50.00 mHmeasured sum50.0000 mHk recovered to2.4e-15solved, then checked — two connections, one pairk recovered to 2.4e-15
Fig. 1 The route that does see it. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so the coupling comes out of the difference and never out of the coupling’s own value. The slider is the second winding’s inductance.

The bench method, as a netlist

The classical way to measure mutual inductance uses nothing but an inductance meter.

Connect the two windings in series so that their fluxes add, and the total inductance is

Laiding=L1+L2+2ML_{\mathrm{aiding}} = L_1 + L_2 + 2M

Reverse the connections of one winding so that the fluxes oppose, and it is

Lopposing=L1+L22ML_{\mathrm{opposing}} = L_1 + L_2 - 2M

Subtract: the difference is 4M. Nothing about the geometry, the core, the turns or the interleaving appears anywhere, and M follows from two readings of a quantity a meter reports directly.

Here it is performed on the netlist rather than on a bench. Each connection is a separate network: two inductors in series with the coupling between them, driven through a resistance large enough that the current is set by it, and the inductance read out as Im(v/i)/ω. The two solves share the element values and nothing else — and neither of them reads K’s coefficient.

Reversing the winding is reversing the order of the second inductor’s terminals in the netlist, which reverses the direction its current is measured in — which is exactly what reversing the winding does to the flux it contributes. That equivalence is the whole trick and it is why the method works at all.

What it recovers

Eighteen combinations: three second-winding inductances against six couplings.

declared coupling recovered
0.1 0.100000000000
0.3 0.300000000000
0.5 0.500000000000
0.7 0.700000000000
0.9 0.900000000000
0.99 0.990000000000

Worst relative departure across all eighteen: 2.4 × 10⁻¹⁵.

That is not a tolerance and it is not a fit. It is the same number arriving by a route that could not have known it, and the only thing the two paths have in common is the two inductances and the netlist they were assembled into.

There is a second check in the same measurement and it is the one that makes the first one mean something. The sum of the two readings is L₁ + L₂ regardless of the coupling, because the mutual terms cancel — and it comes out to 2.2 × 10⁻¹⁶ of the expected value at every combination. If the two solves had been of different circuits, or if one connection had accidentally changed an inductance as well as a sign, the sum would move and the difference would still look plausible.

The coupling coefficient, from two measurements that do not know it. computed by solving, not by drawing. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so k comes out of the difference and the geometry never enters. The recovered value matches the one stamped into the coupling to 1.8e-15 at eight couplings from 0.1 to 0.99 — which is the second route the new element needed, since neither current law nor the energy balance can see a mutual inductance at all. Their sum stays at L₁ + L₂ throughout, which is the check that the two measurements are of one pair.
Fig. 2 The same pair of measurements with a ten-millihenry second winding rather than forty. The coupling comes back to 1.8×10⁻¹⁵ of the value stamped into the element, at all eight couplings from 0.1 to 0.99, and the series sum closes to 2.2×10⁻¹⁶. Nothing about the recovery depends on the windings being alike.

What it would catch

A check is worth what it rejects, so it is worth being specific about the failures this one detects and the two standing checks do not.

A coupling in one row instead of two. The matrix would be asymmetric; the pair would no longer be reciprocal; and the aiding and opposing measurements would differ by 2M rather than 4M, giving a recovered coupling exactly half the declared one.

A sign error. Aiding and opposing would swap, and the recovered coupling would come out negative.

A wrong magnitude — a missing √, an L₁ where an L₂ belongs. The recovered value would differ from the declared one by whatever the error was.

A coupling referring to inductors from a different netlist, which is the object-identity trap this site already carries for sol.i. That one is refused by name rather than measured, because a coupling naming an element the netlist does not contain is not a wrong answer but an ill-formed question.

None of the four moves a node current or a watt.

And the check inside the solver

The measurement above is a figure and runs when the figure is drawn. The site’s promise is stronger than that: every solve is verified before it returns, and a coupled solve had to be no exception.

So verifySolution gained a third route of its own, cheaper than the series method and running on every solve. For each coupled winding it rebuilds

v=s(Li+Miother)v = s\left(L\,i + M\,i_{\mathrm{other}}\right)

from the solved node voltages and branch currents, and compares it with the voltage the solve produced. The stamps are not consulted; the coupling’s declared value is used, so this is a check that the matrix agrees with the declaration rather than a check of the declaration itself. Between the two — this on every solve, the series method in a figure — both halves are covered.

The gate proves the rebuild bites by changing a coupling’s coefficient after the matrix has been assembled. The stamps are untouched, so current law and the energy balance both still pass, and the rebuilt relation catches it alone. That is the rejects discipline the site applies to every assertion, applied to a verification step: a check that has never rejected anything has never been tested.

A coupled pair as a two-port, at k = 0.8. computed by solving, not by drawing. Each port driven in turn with the other open, four solves, and the four impedance parameters read out. The diagonal terms measure each winding's own inductance — 10.0000 mH and 40.0000 mH against 10 and 40 — and both transfer terms measure the mutual inductance, 16.0000 mH against k√(L₁L₂) = 16.0000. The two transfer terms agree to 2.83e-16, which is reciprocity — a property of the device rather than of the measurement, and the first thing a coupling stamped into the wrong row would break. Neither of this site's two standing checks can see it: a coupling adds no current and dissipates nothing.
Fig. 3 The other route to the same number, and a different property. Driving each port in turn with the other open recovers both self-inductances and both transfer impedances — and the two transfer terms are equal to 2.8 × 10⁻¹⁶, which is reciprocity, and is the first thing a coupling stamped into one row would break.

Why the difference and not the ratio

A small point about the arithmetic, because it is the kind of thing that decides whether a measurement is any good in practice.

The method subtracts two quantities that are close together when the coupling is weak. At k = 0.1 with 10 mH and 40 mH windings, the aiding reading is 54.0 mH and the opposing is 46.0 mH: a difference of 8 mH out of 50, which is fine. At k = 0.01 it would be 0.8 mH out of 50, and a meter with three digits would be reporting a coupling to one digit.

So the method’s precision degrades as the coupling weakens, in proportion — and it is at its best exactly where a transformer lives, at k above 0.9, where the two readings differ by more than a factor of six — 86.0 mH against 14.0 mH at k = 0.9. That is a happy accident of the geometry rather than a design, and it is worth knowing which end of the range a technique is good at.

The arithmetic here is exact to fifteen digits because the “meter” is a linear solve in double precision. On a bench the limit would be the meter’s, and the measurement would be quoted with it.

The coupling coefficient, from two measurements that do not know it. computed by solving, not by drawing. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so k comes out of the difference and the geometry never enters. The recovered value matches the one stamped into the coupling to 6.1e-15 at eight couplings from 0.1 to 0.99 — which is the second route the new element needed, since neither current law nor the energy balance can see a mutual inductance at all. Their sum stays at L₁ + L₂ throughout, which is the check that the two measurements are of one pair.
Fig. 4 Ninety millihenries, more than twice the first winding. The recovery is good to 6.1×10⁻¹⁵ — the worst of the five settings drawn, and still fifteen figures. What is being tested here is not the arithmetic’s accuracy but whether the route has a blind spot, and a difference of two series measurements does not acquire one as the windings become unequal.

What a large resistance is doing in the measurement

One construction detail decides whether the two solves are measurements of an inductance or of something else, and it is worth a section because the same detail has caught this site before.

An inductance meter drives a known current and reads the voltage. A netlist has no such element; what it has is a voltage source, and a voltage source across a pair of inductors at a frequency where their impedance is small produces an enormous current and an answer dominated by whatever else is in the loop.

So the drive here is a voltage source through a one-megohm resistor, which makes the current essentially independent of the inductance and the voltage across the pair proportional to it. That is a current source built out of the elements available, and it is the same construction the two-port measurement uses for the same reason.

It has a cost that is worth stating rather than hiding. The reading is not exactly Im(Z)/ω of the inductor pair; it is that quantity as measured through a divider that is not quite ideal. At 1 kHz with 50 mH the pair’s reactance is 314 Ω against a megohm, so the error is a part in three thousand — and the measurement recovers the coupling to 2.4 × 10⁻¹⁵ regardless, because the same divider is present in both readings and the coupling comes out of their difference.

That is a small instance of a general and useful property. A ratio or a difference of two measurements made the same way is insensitive to errors common to both, which is why the compensated divider works, why the differential pair cancels its even harmonics to 10⁻¹⁶, and why this method needs no careful instrument. What it is not insensitive to is anything that differs between the two connections, which is exactly the sign of the mutual term — the quantity being measured.

What the two readings look like across the range

The figure draws both connections rather than their difference, and the reason is that the shape of the pair carries information the difference does not.

coupling series aiding series opposing ratio
0.1 54.0 mH 46.0 mH 1.17
0.3 62.0 38.0 1.63
0.5 70.0 30.0 2.33
0.7 78.0 22.0 3.55
0.9 86.0 14.0 6.14
0.99 89.6 10.4 8.62

The aiding curve rises linearly with the coupling and the opposing one falls linearly, and they meet the ends of the range at L₁ + L₂ ± 2√(LL₂) — which for 10 mH and 40 mH is 90 mH and 10 mH. At perfect coupling the opposing connection would read exactly ten millihenries, which is (√L₂ − √L₁)², and a reader who has met that expression before will recognise it: it is the leakage inductance of the pair, seen from the series connection.

That is a second, free result of the same measurement. The opposing reading is the total leakage of the two windings taken together, so the method that recovers the coupling also recovers the quantity the upper band edge is set by, in the same two readings and without a third.

Which makes the bench procedure rather better than it first appears. Two inductance measurements give the coupling, the mutual inductance, the total leakage, and — with the sum as a check that the two readings are of one pair — a verification that they were. Four quantities and one consistency check from an instrument that reports one number.

The coupling coefficient, from two measurements that do not know it. computed by solving, not by drawing. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so k comes out of the difference and the geometry never enters. The recovered value matches the one stamped into the coupling to 1.2e-15 at eight couplings from 0.1 to 0.99 — which is the second route the new element needed, since neither current law nor the energy balance can see a mutual inductance at all. Their sum stays at L₁ + L₂ throughout, which is the check that the two measurements are of one pair.
Fig. 5 A hundred and sixty millihenries, four times the first winding and the end of the slider: k to 1.2×10⁻¹⁵, sum to 2.2×10⁻¹⁶. Across the five settings the recovery error runs 1.8, 2.2, 6.1 and 1.2 parts in 10¹⁵ with no trend in it, which is what it looks like when the only thing left is double precision.

The general form

This site has now needed a third route three times, and the three have something in common worth naming.

The step response is computed from residues and again by walking the network forward in time, because a residue expansion and a transfer function share their poles and a time-domain march shares nothing with either.

The neutral current is computed from the solve and again as three times the zero-sequence component, sharing only the solve.

And a coupling is stamped into a matrix and recovered from two series connections, sharing only the inductances.

In each case the second route was added not because the first was suspected but because the first had no independent witness. That is a different criterion from “this looks risky”, and it is the one that finds the errors nobody was looking for: the bilinear recursion in the noise field whose past output carried the wrong sign had produced a stable, plausible sequence for two phases, and what caught it in the end was a claim about averaging that could not be true.

A mutual inductance is the clearest case the site has had. It is invisible to both standing checks by construction — not by oversight, not because the checks are weak, but because the quantity it constrains is one neither of them touches. An element like that needs its own witness before anything is built on it, and eleven essays are built on this one.

Two figures, one number, and a third route each

It is worth putting the field’s three independent determinations of the coupling side by side, because between them they cover every way the element could be wrong.

The series connections, in this essay’s figure: two solves of two different netlists, differenced. Recovers k to 2.4 × 10⁻¹⁵ and would catch a wrong magnitude, a wrong sign, and a coupling in one row instead of two.

The two-port parameters, in the next essay: four solves, each driving one port with the other open. Recovers the mutual inductance from both transfer terms independently, and — the part neither other route reaches — requires the two to be equal, which is reciprocity and is a property of the device rather than of the measurement.

The rebuilt relation, inside verifySolution: no extra solve at all, running on every coupled network the site draws. Catches a matrix that disagrees with the declaration, which is the failure the other two cannot see because they take the declaration as given.

The three overlap deliberately. Two of them would catch a sign error; two would catch a wrong magnitude; only one catches asymmetry and only one runs everywhere. That is what a set of checks should look like for an element on which a whole field rests, and it is more than any other element in lib/network.js has — the resistor, the capacitor and the controlled sources are all visible to current law and to the energy sum, and have needed nothing else in five phases.

The coupling coefficient, from two measurements that do not know it. computed by solving, not by drawing. Two windings in series, connected one way and then the other, each solved as a netlist and its inductance read out of the impedance. The two differ by four times the mutual inductance, so k comes out of the difference and the geometry never enters. The recovered value matches the one stamped into the coupling to 2.2e-16 at eight couplings from 0.1 to 0.99 — which is the second route the new element needed, since neither current law nor the energy balance can see a mutual inductance at all. Their sum stays at L₁ + L₂ throughout, which is the check that the two measurements are of one pair.
Fig. 6 Twenty millihenries, the setting at which the two windings are two to one. The coupling is recovered to 2.2×10⁻¹⁶ and the series sum to 4.4×10⁻¹⁶ — the sum’s error being twice the difference’s here, and the other way round at other settings, which is the signature of an error that is rounding rather than method.

Why this element and not the others

A closing observation about which parts of a solver need a witness of their own, because the answer turns out to be predictable and this site had not noticed the pattern until an element arrived that broke it.

Every other element in lib/network.js contributes a current at a node. A resistor’s is v/R, a capacitor’s is sCv, a controlled source’s is gₘ times somebody else’s voltage, and an inductor’s, a source’s or a nullor’s is an unknown the matrix solves for. Current law sums those at every node, so an error in any of them shows up there — which is why one check has been enough for five phases and eleven fields.

A coupling is the first element that contributes no current and no node. It is a constraint between two rows of the matrix, and constraints of that kind are invisible to a check that sums things at nodes, by construction rather than by accident.

That suggests a rule for whatever gets added next, and it is worth writing down now that there is one example: an element that adds a constraint rather than a current needs its own verification, and the verification has to rebuild the constraint rather than re-sum anything. A gyrator, an ideal transformer stamped as a constraint rather than as two coupled inductances, a nullor’s input condition — all of them are in that class, and the nullor is the one this site already has.

The nullor, as it happens, is covered: its constraint is that its input terminals draw no current and sit at the same potential, and the first of those is a current statement, so current law sees it. The coupling is the first genuinely invisible one, and the third route this essay describes is what that cost.

The fourth route, which arrived later

There is now a second independent check on the same element, and it is worth setting beside this one because it catches the same fault by a different mechanism.

Two ports from two one-ports recovers the four impedance parameters of a coupled pair by four solves — each port driven with the other open, the definition read literally — and two of the four come out equal to 2.8×10162.8\times10^{-16}. That is reciprocity, and a coupling stamped into one row instead of two breaks it immediately. So the field has a symmetry check and a bench check on the same element, arrived at from different directions, neither of them derivable from the other.

Which is worth having because the two fail differently. The symmetry check is a property of the matrix and would catch a stamping error at any coupling value including zero; the series-aiding measurement is a property of the solved circuit and would catch a coupling of the right symmetry and the wrong magnitude. Together they pin both.

The reading that does not care which way round it is is where the symmetry the first of those relies on is established in general — five parts in 101410^{14} over four decades — and where its limit is put at a transconductance of 0.78 femtosiemens, which is the point at which any check built on reciprocity stops being available.

What links here

Essays that reach for this one mid-argument — the half of a link its own author cannot write down, the 8 sharing most with it of 11.

What this makes readable

Essays that name this one as a prerequisite.

The objects named here

The third axis, after the field and the idea: the things themselves, and every essay that touches each one.

Coupling coefficientMutual inductanceSeries connectionTransformer