Mutual Inductors
----------------
Introduction
============
This page explains briefly how to use coupling between inductors.
If you are familiar with SPICE's mutual inductors, you can skip this
page, they work the same way.
Netlist syntax
==============
::
K
or::
K k=
API syntax
==========
If you have a circuit instance ``my_circuit`` containing two inductors with IDs
``'LP'`` and ``'LS'``, you can add a coupling of value 0.89 between them with::
my_circuit.add_inductor_coupling(part_id='K1', L1='LP', L2='LS', value=.89)
For further information, refer to
:func:`ahkab.circuit.Circuit.add_inductor_coupling`.
Usage and internal modeling
===========================
The coupling between two inductors is defined by the two inductors to be coupled
and the value coupling factor :math:`k`. *The coupling factor has to be lesser
than one.*
*Dot convention:* for every inductor coupling, the dot is to be placed
on the first node specified when the inductor was declared.
.. image:: ../images/ci/ci_modeling.jpg
Eg. the left hand side of the figure above can be specified with the
entries below:
::
L1 n1 n2 1u
L2 n3 n4 1u
K1 L1 L2 k=.2
Internally, the following equations are enforced (refer to the right
hand side of the previous figure):
.. math::
V_{L1} = L_1 \frac{dI(L_1)}{dt} + M \frac{dI(L_2)}{dt} \\
V_{L2} = L_2 \frac{dI(L_2)}{dt} + M \frac{dI(L_1)}{dt} \\
Where :math:`M` is the *mutual inductance* and it is defined as:
.. math::
M = K \sqrt{L_1 L_2}
Ideal transformers
==================
Ideal (perfect) transformers are not supported, but can be approximated
with the following choices:
- Set :math:`k=0.999` (an ideal transformer would have :math:`k=1`),
- Set the inductors values high enough that the primary and secondary
inductances have a negligible effect on the current/voltages over the
transformer. (an ideal tranformer would have "infinite" primary and
secondary inductances),
- Set the ratio of the primary/secondary inductances :math:`L_1/L_2` equal to
the windings ratio :math:`n_1/n_2`.
Pathological circuits
=====================
A few pathological circuits are shown in the next figure.
.. image:: ../images/ci/ci_pathological.jpg
**Explanations:**
**(a)** is pathological because two elements are specifying the transformer
input node at the same time (think what would happen in real life...). The
resulting MNA matrix is singular.
- insert a series resistor to break the loop.
**(b)** corrects the issue above, but has an isolated secondary, which means
that all the voltages at the secondary winding are not unequivocally defined.
The resulting MNA is singular.
- join the primary and secondary with a very high isolation resistor or set the
voltage of one node at the secondary with a voltage source.
**(c)** has :math:`k=1`. :math:`k` has to be less than 1 or *instability
ensues*.
Multiple coupling
=================
It is possible to couple multiple inductors together, the following is
an example of a transformer with a center tap (connected to ground in
this case).
.. image:: ../images/ci/multiple_ci.jpg
::
* Transformer with a grounded center tap:
* Primary: n1, n2
* Secondary 1: nA, 0
* Secondary 2: 0, nB
L1 n1 n2 10u
LA nA 0 5u
LB 0 nB 5u
K1 L1 LA .49
K1 L1 LB .49
Known limitations
=================
- For the time being mutual inductors are unsupported in subcircuits.
- The inductors *have to be declared first.*