# How to model mutial inductance in SPICE

Started by November 30, 2017
```Could some SPICE guru please help. I am trying to mofrl
two parallel wires, each of diameter 'd' mm, of length
'l' mm , separated by 's' mm. These two inductors will
have both self(each) and mutual inductance. They can be
modelled in SPICE as two parallel inductors as follows:
L0 START0 END0 <value>
L1 START1 END1 <value>
k0 L9 L1 0.99
where 'k0' is the coupling constant< So, now is the
mutual inductance to be added to the circuit, Any hnts

```
```On Thursday, November 30, 2017 at 4:00:52 PM UTC+11, daku...@gmail.com wrote:
> two parallel wires, each of diameter 'd' mm, of length
> 'l' mm , separated by 's' mm. These two inductors will
> have both self(each) and mutual inductance. They can be
> modelled in SPICE as two parallel inductors as follows:
> L0 START0 END0 <value>
> L1 START1 END1 <value>
> k0 L9 L1 0.99
> where 'k0' is the coupling constant< So, now is the
> mutual inductance to be added to the circuit, Any hnts

The two inductances - L1 and L2 and the coupling constant in the third line define the mutual inductance.

The transformer equation is

V1 = L1.dI1/dt + M. dI2/dt
V2 = M. dI1/dt + L2. dI2/dt

http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/tracir.html

For perfect coupling M^2 = L1.L2

and the coupling coefficient k is the extent to which M is less than the geometric mean of L1 and L2. The coupling coefficient has to less than one (though it can be very close to one) which is to say

M^2= k^2. L1.L2

note that k can be either positive or negative, so it's magnitude is what's less than one.

I hope this helps. I got introduced to the transformer equation after I'd been using transformers for some years, and I found that it clarified my thinking wonderfully. Introductory texts mostly avoid it - presumably on the Steven Hawking principle that every successive equation in a text halves the potential readership.

--
Bill Sloman, Sydney

```
```On Wed, 29 Nov 2017 21:00:43 -0800 (PST), dakupoto@gmail.com wrote:

>two parallel wires, each of diameter 'd' mm, of length
>'l' mm , separated by 's' mm. These two inductors will
>have both self(each) and mutual inductance. They can be
>modelled in SPICE as two parallel inductors as follows:
>L0 START0 END0 <value>
>L1 START1 END1 <value>
>k0 L9 L1 0.99

K9 L0 L1 0.99 maybe?

>where 'k0' is the coupling constant< So, now is the
>mutual inductance to be added to the circuit, Any hnts
>
>

You can either adjust K downward to tune the mutual L, or set K to
1.00 and add another discrete inductor to the circuit to represent the
mutual/leakage inductance.

At high frequencies, the wires become transmission lines and can't be
accurately modeled as inductors any more.

--

John Larkin         Highland Technology, Inc

lunatic fringe electronics

```
```On Thursday, November 30, 2017 at 4:47:39 PM UTC+11, John Larkin wrote:
> On Wed, 29 Nov 2017 21:00:43 -0800 (PST), dakupoto@gmail.com wrote:
>
> >two parallel wires, each of diameter 'd' mm, of length
> >'l' mm , separated by 's' mm. These two inductors will
> >have both self(each) and mutual inductance. They can be
> >modelled in SPICE as two parallel inductors as follows:
> >L0 START0 END0 <value>
> >L1 START1 END1 <value>
> >k0 L9 L1 0.99
>
> K9 L0 L1 0.99 maybe?
>
> >where 'k0' is the coupling constant< So, now is the
> >mutual inductance to be added to the circuit, Any hints
>
> You can either adjust K downward to tune the mutual L,

Actually you can measure k more or less accurately if you've got a real circuit to model, and plug it into the simulation, Using it as a twiddle factor isn't a good idea.

> or set K to
> 1.00 and add another discrete inductor to the circuit to represent the
> mutual/leakage inductance.

The additional inductor might - sort of - model the leakage inductance, but it really doesn't represent what's actually going on.

> At high frequencies, the wires become transmission lines and can't be
> accurately modeled as inductors any more.

Since you can model a transmission line as a series of capacitors (to ground) with a series of inductors between the capacitors, this is the kind of half-baked correct but unhelpful observation for which John Larkin is notorious.

--
Bill Sloman, Sydney
```
```<bill.sloman@ieee.org> wrote in message
>> At high frequencies, the wires become transmission lines and can't be
>> accurately modeled as inductors any more.
>
> Since you can model a transmission line as a series of capacitors (to
> ground) with a series of inductors between the capacitors, this is the
> kind of half-baked correct but unhelpful observation for which John Larkin
> is notorious.
>

Well, to a certain degree of accuracy.  But that quickly goes out of hand,
so if you have harmonics in the frequency range where transmission line
behavior is necessary to model, it's probably better to use the SPICE
transmission line primitive.

Transmission lines are more fundamental than R, L and C anyway, and I
eagerly suggest the novice research them and develop at least a basic
understanding!

Tim

--
Seven Transistor Labs, LLC
Electrical Engineering Consultation and Contract Design
Website: https://www.seventransistorlabs.com/

```
```On Thursday, November 30, 2017 at 10:22:02 PM UTC+11, Tim Williams wrote:
> <bill.sloman@ieee.org> wrote in message
> >> At high frequencies, the wires become transmission lines and can't be
> >> accurately modeled as inductors any more.
> >
> > Since you can model a transmission line as a series of capacitors (to
> > ground) with a series of inductors between the capacitors, this is the
> > kind of half-baked correct but unhelpful observation for which John Larkin
> > is notorious.
>
> Well, to a certain degree of accuracy.  But that quickly goes out of hand,
> so if you have harmonics in the frequency range where transmission line
> behavior is necessary to model, it's probably better to use the SPICE
> transmission line primitive.
>
> Transmission lines are more fundamental than R, L and C anyway, and I
> eagerly suggest the novice research them and develop at least a basic
> understanding!

Transmission lines start needing to be modelled as transmission lines when the frequencies you are putting through them get to the point that the line is longer than the wavelength.

Since Daku is talking about line lengths measured in millimetres and the speed of light is 300mm per nsec, this probably isn't going to be a problem for him.

If he really does have to worry about what two parallel wires are going to look like, Spice isn't the modelling program to use.

There are field-modelling programs that set up and map the electromagnetic fields around the wires. I see ads for them from time to time, but in the place where I've worked we mostly had a guy with a Ph.D. in electrodynamics who'd written his own. You can buy the programs (or buy access to them) but they do seem to be expensive.

--
Bill Sloman, Sydney
```
```On Thu, 30 Nov 2017 05:21:19 -0600, "Tim Williams"
<tmoranwms@gmail.com> wrote:

><bill.sloman@ieee.org> wrote in message
>>> At high frequencies, the wires become transmission lines and can't be
>>> accurately modeled as inductors any more.
>>
>> Since you can model a transmission line as a series of capacitors (to
>> ground) with a series of inductors between the capacitors, this is the
>> kind of half-baked correct but unhelpful observation for which John Larkin
>> is notorious.
>>
>
>Well, to a certain degree of accuracy.  But that quickly goes out of hand,
>so if you have harmonics in the frequency range where transmission line
>behavior is necessary to model, it's probably better to use the SPICE
>transmission line primitive.

Right. Lumped approximations of continuous transmission lines don't
work very well in simulation or in real life. The number of sections
increases as the square of Td/Tr, and even then it's not right;
dispersion wrecks everything.

--

John Larkin         Highland Technology, Inc

lunatic fringe electronics

```
```On 2017-11-30, bill.sloman@ieee.org <bill.sloman@ieee.org> wrote:
> Transmission lines start needing to be modelled as transmission lines when the frequencies you are putting through them get to the point that the line is longer than the wavelength.
>
> Since Daku is talking about line lengths measured in millimetres and the speed of light is 300mm per nsec, this probably isn't going to be a problem for him.
>
> If he really does have to worry about what two parallel wires are going to look like, Spice isn't the modelling program to use.
>
> There are field-modelling programs that set up and map the electromagnetic fields around the wires. I see ads for them from time to time, but in the place where I've worked we mostly had a guy with a Ph.D. in electrodynamics who'd written his own. You can buy the programs (or buy access to them) but they do seem to be expensive.

FEMM is free, but don't ask me how to drive it.

--
This email has not been checked by half-arsed antivirus software
```
```>wrote in message

>two parallel wires, each of diameter 'd' mm, of length
>'l' mm , separated by 's' mm. These two inductors will
>have both self(each) and mutual inductance. They can be
>modelled in SPICE as two parallel inductors as follows:
>L0 START0 END0 <value>
>L1 START1 END1 <value>
>k0 L9 L1 0.99
>where 'k0' is the coupling constant
< So, now is the

?

I guess its "So, how is the ..." other wise it don't make sense.

>mutual inductance to be added to the circuit, Any hnts

It look like to me, that the other posters haven't understood the problem.

Looks to me like you want to know how to implement it in spice, with a
normal GUI simulator.

Put all the lines in a .subckt.

.subckt line_model START0 END0 START1 END1
L0 START0 END0 <value>
L1 START1 END1 <value>
k0 L0 L1 0.99
.ends

And attach a symbol to the model to place on the schematic.

I corrected your k0 line. The L9  entry made no sense. It is specifying the
"k" between L0 and L1 which actually implements the mutual inductance
between them.

-- Kevin Aylward
http://www.anasoft.co.uk - SuperSpice
http://www.kevinaylward.co.uk/ee/index.html

```
```On Saturday, December 2, 2017 at 6:06:36 AM UTC+11, Kevin Aylward wrote:
> >wrote in message
>
> >two parallel wires, each of diameter 'd' mm, of length
> >'l' mm , separated by 's' mm. These two inductors will
> >have both self(each) and mutual inductance. They can be
> >modelled in SPICE as two parallel inductors as follows:
> >L0 START0 END0 <value>
> >L1 START1 END1 <value>
> >k0 L9 L1 0.99
> >where 'k0' is the coupling constant
> < So, now is the
>
> ?
>
> I guess its "So, how is the ..." other wise it don't make sense.
>
> >mutual inductance to be added to the circuit, Any hnts
>
> It look like to me, that the other posters haven't understood the problem.
>
> Looks to me like you want to know how to implement it in spice, with a
> normal GUI simulator.
>
> Put all the lines in a .subckt.

Why bother?

> .subckt line_model START0 END0 START1 END1
> L0 START0 END0 <value>
> L1 START1 END1 <value>
> k0 L0 L1 0.99
> .ends
>
> And attach a symbol to the model to place on the schematic.
>
> I corrected your k0 line. The L9  entry made no sense. It is specifying the
> "k" between L0 and L1 which actually implements the mutual inductance
> between them.

L9 was obviously a typo for L0.

--
Bill Sloman, Sydney
```