Inductance Calculation

Maxwell [11a] derived the following formula for the mutual inductance of two coaxial circular filaments:

(10) |

where:

**r**_{1}
and **r**_{2} are the radii of the two
respective circular filaments, and

* x* is the distance between the centres of the
circular filaments.

And by filament we mean a conductor of infinitesimally small diameter.

This formula works well when the circles are not close together. When they are close together, Maxwell gave a second formula:

(11) |

where the new modulus *k*_{1} is given by:

where **x**_{1} and **x**_{2}
are the closest and furthest distances between the two circles:

Since formula (11) uses the difference * K*−

(12) |

This formula is implemented in the following Open Office BASIC macro function:

```
Function Mut(ByVal r1,r2,x) As Double
' Calculate mutual inductance in microhenries between
' two coaxial circular filaments
' r1,r2 are radii of the respective loops in cm
' x is the axial distance separating them in cm
a=sqr((r1+r2)^2+x^2)
b=sqr((r1-r2)^2+x^2)
c=a-b
ci=1
cs=c*c
do
ao=(a+b)/2
b=sqr(a*b)
a=ao
co=c
c=a-b
ci=2*ci
cs=cs+ci*c*c
loop while c<co
Mut=.0005*pi()^2*cs/a
end Function
```

Slight changes have been made to (12) so that the result is given in *µH*.

Now, it was mentioned above, that the formula on which this is based is for infinitesimal filaments. What happens when we use solid wire of finite thickness? In the case of round wire, it will be shown that the formula can be used as is.

This seems to be as good a place as any to introduce the principle
of geometric mean distances. In his book, Maxwell [11]
uses geometric mean distances to simplify calculations involving
conductors with finite cross sections of various shapes. Simply
stated: There is a mean distance between the two conductors which, if
all of the current, rather than being evenly distributed throughout
the two conductors, is concentrated in two infinitesimal filaments
separated by this mean distance, then the inductance calculated using
the filament formula will be the actual inductance. This mean
distance is not the usual arithmetic mean that we commonly know as an
average. The arithmetic mean of * N* numbers is the sum of
those numbers divided by

**g*** *= √(* a*×

In the case of two circular cross sections (or any plane figures), we need to find the geometric mean distance of an infinite number of infinitesimal points. We can use integration to add up an infinite collection of points, but there is no equivalent mathematical procedure for multiplying these points as we would need to do to calculate the geometric mean. However, it is well known that adding the logarithms of numbers is equivalent to multiplying the numbers. Therefore, the geometric mean distance between two shapes can be calculated by integrating the logarithms of the distances. For further information on the calculation of geometric mean distances, refer to [1],[2], [11b], [12].

Conveniently, the geometric mean distance between two circles
(either solid or hollow) is simply the distance between their
centres. * This is true only as long as the two circles do not
overlap.* Therefore, for two separate circular wires having a
round cross section, we can use the

(In the case of square wire or wire of other cross sections the geometric mean distance is not the centre to centre distance. However, many of these cases have been treated in the literature, and the appropriate values can be found.)

Now the question is: What else can we do with this mutual inductance function besides finding the mutual inductance between two loops of wire? Two things:

- It can be used as part of another program or function to calculate the mutual inductance between two coils.
- It can be used as part of another program or function to calculate the self-inductance of a coil.

To calculate the mutual inductance between two coils, we simply execute the * Mut()* function for
every
combination of pairs of turns between the first and second coil and add up the results. So, for example, if we
have two coils of 10 and 15 turns respectively, we take each of the 10 turns of coil 1 and calculate the mutual
inductance between it and each of the 15 turns of the second coil. So we get 10×15=150 mutual inductances from
coil 1 to coil 2. The following illustration shows the parameters that we will be dealing with:

Hence:

* x* – Offset of the second coil with respect to the
first coil;

**x**_{1},
**x**_{2}
– Length of the respective coils;

**r**_{1},
**r**_{2}
– Radii of the respective coils;

**p**_{1},
**p**_{2}
– Winding pitch of the respective coils.

**N**_{1},
**N**_{2}
– Number of windings of the respective coils.

The following BASIC macro function calculates the mutual
inductance between two coaxial solenoids having the dimensions and
separation distance as shown in the above illustration. **Note
that the offset can be less than the length of the coils. In that
case, one coil would sit over top of the other, and the function will
still calculate the correct mutual inductance.**

```
Function Mcoil(ByVal n1,r1,x1,n2,r2,x2,x) As double
'Calculate mutual inductance of two coaxial solenoids
' n1,n2=no. of turns; r1,r2=coil radius; x1,x2=coil length;
' x=offset of second coil along axis
' All dimensions are in centimeters
p1=x1/n1
p2=x2/n2
Msum=0.0
for j1=0 to n1-1
for j2=0 to n2-1
z=j2*p2-j1*p1+x
Msum=Msum+Mut(r1,r2,z)
next
next
Mcoil=Msum
end function
```

The program is quite straightforward, containing two nested loops:
the outer loop for the turns of coil 1 and the inner loop for the
turns of coil 2. The pitch for each of the coils is calculated by
dividing coil length by number of turns. These pitch values are
multiplied by the respective loop counter variables * j1*
and

Next, we will look at using * Mut()* to calculate the
self inductance of a solenoid inductor. Self inductance of a coil can
be calculated by adding up the mutual inductances between every pair
of turns in the coil. "Every pair" means each turn paired
with every other turn in the coil. So a coil of

There is one particular pair of turns which requires special
attention. That is the case of a turn paired with itself. The mutual
inductance between each turn and itself must be included in the
total. To address this, we need to revisit the subject of geometric
mean distances (GMD). It was stated earlier that the GMD between
circles is equal to the distance between their centres only when the
circles do not overlap. In this one particular instance, the circles
not only overlap, they are exactly superimposed. Fortunately, the
references previously mentioned give the GMD values for the cases of
superimposed figures, which is essentially the GMD of a figure from
itself. In the case of a circular area (the cross section of a round
solid wire) the GMD * g* is given by:

* g *=

where **r**_{w} is the radius of
the circle (and hence the radius of the cross section of the
conductor).

In the case of a hollow circle (the cross section of a thin
tubular conductor), the GMD * g* is given by:

**g*** *= **e**^{0}×**r**_{w}_{ }= 1×**r**_{w}

The values of these exponents, 0 and −¼ will make several surprising re-appearances from time to time.

Now that we know the GMD between a circle and itself is not zero as we might have expected, we can now use this value to calculate the mutual inductance between a turn and itself, or in other words, the self inductance of a turn. The mutual inductance between all other pairs of turns remains, as before, simply the distance between the centres. Following is an Open Office BASIC program to calculate the self inductance of a solenoidal coil using solid round wire.

```
function Lcoil(ByVal n,rc,x,dw) As double
'Calculate inductance of solenoid
'n=no. of turns; rc=coil radius; x=coil length; dw=wire diameter
'All dimensions are in centimeters
pitch=x/n
M=Mut(rc,rc,dw/2*exp(-.25))*n
for z=1 to n-1
M=M+Mut(rc,rc,z*pitch)*(n-z)*2
next
Lcoil=M
end function
```

Short and sweet.

Because we need to calculate the GMD value for the self inductance contribution, this function requires the wire
diameter as one of its inputs, whereas the previous *Mcoil()* function did not. The first call to the
*Mut()* function calculates the self inductance component of the *n* turns. It uses the value of
**e**^{−¼} as the factor for the GMD. For a thin walled tubular conductor, the exponent of
* e*
would simply be changed to 0, and the GMD factor would be 1.

The mutual inductance component is then calculated inside the loop, and
multiplied by the appropriate factor (**n***−** z*)×2
for the number of times the pair occurs. It is identical for both
tubular and solid round wire.

It should be mentioned that de Queiroz, [9], uses a similar method to calculate the self inductance of a solenoid coil, but his method for determining the distance between turns is contrary to the generally accepted methods put forth by Maxwell, Rosa, et al, and as a result, his results show a slight variation from theirs and the from the method given here.

The * Mut()* function can also be used to calculate the mutual inductance and self inductance for coils other than solenoids. Any
coil composed of coaxial circular windings, such as spirals may be
calculated using a suitable main program which calls

I ended the discussion in the previous section on current sheets by warning of its limitations, and would be remiss not to do the same here. The most obvious thing is that a practical solenoid coil is not composed of individual rings; it is a helix. Therefore, treating a helical coil in this way, is an approximation. The approximation is a fairly good one though, as long as the pitch of the coil is not excessive relative to the coil diameter. Some of the effects of helicity can be compensated for, and will be discussed later.

A second approximation is in the use of geometric mean distance. The GMD principle is exact when used in two dimensions, and in three dimensions when the conductors are straight and infinitely long. When the conductors are wrapped around a coil form, the curvature that is introduced will cause differences between the fields outside the coil and inside the coil. This effect is insignificant if the curvature is small; i.e., when the wire diameter is very small compared to the radius of the coil, which is usually the case.

Up until this point, we have discussed only coils wound on round forms. Before wrapping up the discussion of single layer coil inductance formulae, we will look at another common configuration. It often happens that we want to wind a coil on a polygonal form rather than a round one.

To find the inductance in the case of a polygonal coil, we can either calculate it as a summation of individual polygonal windings, or alternatively, assume it is equivalent to some circular coil, and then calculate the inductance for the equivalent circular coil. While there are formulae available for the mutual inductance between polygonal filaments, they are not general enough to handle all of the cases which will be discussed in the upcoming sections. Therefore, the second approach using equivalent circular windings will be pursued here. The question then, is: What circular coil will have the same inductance as the polygonal coil? One possibility is to assume a coil having the same perimeter as the polygon. Another possibility is to assume a coil where the winding encloses the same area as the polygon. Grover [2] discusses this (pages 170–175) and provides tabulated data (Table 42) for selecting the appropriate equivalent circular coil. However, we prefer not to use tabulated data if a suitable formula can be found.

For the purpose of this discussion, we will define:

**r**_{V} – the distance from
the centre of the polygon to a vertex; (this is also the radius of
the circumscribed circle, and hence the diameter of the circumscribed
circle will be defined as * D*=2

**r**_{P} – the radius of a
circular coil having the same perimeter as the polygon,

**r**_{A} – the radius of a
circular coil enclosing the same area as the polygon.

The area * A* of the polygon, with number of sides
equal to

And the perimeter *P* of the polygon is given by:

In both of the above formulae, angles are in radians.

It follows that **r**_{P}_{
}=* P*/2

It turns out that a coil enclosing the same area provides good
results for most coils except extremely short ones. In fact, for
infinitely long coils a circular coil enclosing the same area as the
polygon will have exactly the same inductance. That is, for long
coils the equivalent circular coil will have a radius **r**_{A}.
For extremely short coils, the equivalent circular coil is a weighted
average of **r**_{A} and **r**_{P}.
For a coil of zero length, then we can find that, empirically, the
radius **r**_{E} of the equivalent
circular coil is approximately:

Because this is empirical, it has a finite error. The worst case is for a 3-sided polygon (i.e. a triangular winding). The error is about 3% in this case, but improves significantly as the number of sides increases:

Note, Grover's Table 42 gives the values normalized as **r**_{E}/**r**_{A},
and so the empirical formula is adjusted accordingly for comparison.
Considering the simplicity of the formula, this amount of error seems
to be reasonable, especially since triangular coils are not used as
frequently as the other types. However, I later noticed that an even
simpler expression for _{r}_{E}
gives the same absolute error:

What is interesting, is that the sign of the error is opposite that of the previous formula. So, by taking the mean of these two formulae, the error can be reduced considerably.

Of course these formulae are applicable for coils of zero length.
As the length increases, the value of **r**_{E}
must tend towards the value **r**_{A}

The arrangement of the first formula for the zero-length coil suggests a more general form for coils of any length:

where **k**_{W} is a weighting factor which
varies from one when the coil length is zero, to zero when the coil
length is infinite. It can be seen that for a long coil the value of
**r**_{E} correctly approaches **r**_{A}.
With a bit of experimentation, a good value for **k**_{W}
was found to be:

where
**ℓ**_{C} is coil length, and * D*
is the diameter of the circumscribed circle, or 2×

Using this general formula for **r**_{E},
the worst case error is for zero length coils and is as given in the
first error chart above. The error decreases rapidly as the coil
length to diameter ratio becomes non-zero. For **N**_{S }= 3
the error for coils of various length/diameter ratios is as follows:

The error continues to decrease as shape factor **ℓ**_{C}/* D*
increases to values larger than 1, and also as

Grover gives an example in ref [2] on page 60 for an octagonal coil of 50 turns of wire wound with a pitch of 0.4 cm. The diameter of the bare wire is 0.2 cm, and the diameter of the wire including its insulation is 0.25 cm. Calipered over opposite vertices of the octagon, the distance is 11.29 cm.

Allowing for wire thickness, the diameter * D* of the
circumscribed circle is 11.29−0.25 = 11.04 cm. The value

The length of the coil is equal to the pitch times the number of turns, or 50×0.4 = 20 cm.

The coil shape factor is

* D*/

The area of the octagon from the formula given above
is

* A* = 0.5×8×5.52

The radius of a circle enclosing this area is
then

**r**_{A} = √(86.18/* π*) = √(27.433) = 5.2377
cm.

The perimeter of the octagon from the above given formula
is

* P* = 2×8×5.52×sin(

The radius of a circle having the same perimeter is
then

**r**_{P} = 33.8/(2* π*) = 5.379
cm.

Weight factor *k*_{W} is given
by

**k**_{W} = √(1/(1+368x0.552)) = √(1/(1+203.14)) = √(1/204.14) = √0.0049 = 0.06999

Radius of equivalent circular coil *r*_{E} is
given from the above general formula as

**r**_{E} = (0.06999×5.379^{2}+(2−0.06999)×5.2377^{2})/(2×5.2377)

= (0.06999×28.934+(2−0.06999)×27.434)/(10.475)

= (2.0251+(1.930)×27.434)/(10.475)

= (2.0251+52.947)/(10.475) = 54.9721
/ 10.475

= 5.248 cm

Grover's result, using Table 42, is 5.240 cm, which differs by
only 0.15%. In Grover's example, the resulting current sheet
inductance value is

**L**_{S} = 109.9
*µ*H.

Using the value **r**_{E} = 5.248
from the general empirical formula, and calculating the current sheet
inductance value using the * Nagaoka()* function from Part
1a, we get

This differs from Grover's example's result by 0.3 *µ*H, or
0.27%. Note that the percentage variation in inductance is greater
than the percentage variation in effective radius **r**_{E}
(0.15%). This is because the inductance varies with the square of the
radius. Hence the error in effective radius will have a larger effect
on the resulting inductance value.

*******

We are nearly at a point where these different inductance calculation methods may be compared using numerical examples. However, the current sheet formula requires round wire corrections which will be introduced in Part 2. Without those we would be comparing apples to oranges. Before dealing with those, we move on to the next section, where the methods described on this page will be expanded to calculate inductance of multi-layer coils.

Continue to:

Part 1c – Multi-Layer Coils Back to:

Numerical Methods 1a

Numerical Methods Introduction

Radio Theory

Home

This page last updated: March 31, 2022

Copyright 2010, 2022 Robert Weaver