# Mutual coupling and Circuitikz?

I am desperately trying to draw mutual coupling between two inductors, something like this: or where the actual focus is on the mutual coupling M of the two coils. When I searched the web, I stepped over these two image which were part of a lecture on electrical circuits. Apparently, they are done using Circuitikz, but i was unable do identify the author to ask him directly.

So for example, I would like to add mutual between these two coils:

\documentclass{article}

\usepackage{tikz}
\usepackage[siunitx,europeanresistors,cuteinductors,americanvoltages,americancurrents]{circuitikz}

\begin{document}

\begin{figure}[h!]
\centering
\begin{circuitikz}
\draw (0,0)
to[sV=$V_0$] (0,2)
to[L=$L_1$] (2,2)
to[short] (2,0)
to[L=$L_2$] (0,0) ;
\end{circuitikz}
\caption{Two coils without mutual coupling.}
\end{figure}

\end{document}


• Very nice diagrams! Nov 8, 2014 at 14:56

This is one possible solution. amssymb is used for loop currents. Code

\documentclass{article}

\usepackage{tikz}
\usepackage[siunitx,cuteinductors,americanvoltages,americancurrents]{circuitikz}
\usepackage{latexsym,amssymb,amsmath}
\begin{document}

\begin{circuitikz}
\draw (0,0) to [R=$R_1$] (2,0) -| (3,-1) to [L,l_=$L_1$] (3,-3) |- (-1,-4) to [V,l=$v_g$] (-1,0) -- (0,0)
(1,-2) node[scale=6]{$\circlearrowright$}
(1,-2) node{$I_1$};
\draw (5,0) to [short] (7,0) -| (8,-1) to [R=$R_2$,] (8,-3) |- (4,-4) to [L,l_=$L_2$] (4,0) -- (4,0) --(5,0)
(6,-2) node[scale=6]{$\circlearrowleft$}
(6,-2) node{$I_2$};
\draw [fill=black] (2.5,-1)node(a){} circle (2pt);
\draw [fill=black] (4.5,-3)node(b){} circle (2pt);
\draw [<->,>=stealth] (a)  to [bend left] node[pos=0.5,fill=white] {M} ++(2,0);
\end{circuitikz}

\vspace{1cm}

\begin{circuitikz}
\draw (0,0) to [R=$R_1$,i=$I_1$] (2,0) -| (3,-1) to [L,l_=$L_1$] (3,-3) |- (-1,-4)   to [V,v=$v_g$] (-1,0) -- (0,0)
(1,-2) node[scale=1.5]{$M\frac{di_2}{dt}L_1\frac{di_1}{dt}$};
\draw(1,-0.5)node{-} to [open] (1,-3.5)node(){+}; % adding polarities
\draw(2,-0.5)node{+} to [open] (2,-3.5)node(){-}; % adding polarities
\draw (5,0) to [short,i<=$I_2$] (7,0)  -| (8,-1)   to [R=$R_2$,] (8,-3) |- (4,-4)   to [L,l_=$L_2$] (4,0)  -- (4,0) --(5,0)
(6,-2) node[scale=1.5]{$L_2\frac{di_2}{dt}M\frac{di_1}{dt}$};
\draw(5,-0.5)node{+} to [open] (5,-3.5)node(){-}; % adding polarity
\draw(6,-0.5)node{-} to [open] (6,-3.5)node(){+}; % adding polarity

\draw [fill=black] (2.5,-1)node(a){} circle (2pt);
\draw [fill=black] (4.5,-3)node(b){} circle (2pt);
\draw [<->,>=stealth] (a)  to [bend left] node[pos=0.5,fill=white] {M} ++(2,0);
\end{circuitikz}
\end{document}

• Wow, thanks a lot, that's pretty much what I was searching for! Nov 8, 2014 at 11:00
• One more question, what's the function of the two ++ signs at the end? I couldn't figure it out. Thanks! Nov 8, 2014 at 12:34
• OK, that means relative to the (a) point. -- (x_a,y_a)+(2,0) -- So horizontally to the right of 2cm, relative to point a. Nov 8, 2014 at 12:36
• Got it! Seems like it makes no difference to have one + or two ++ signs... Thanks again, you saved my day! Nov 8, 2014 at 12:43
• No. they are different. Two ++ is relative to the previous coordinate. One + is relative to the FIRST/STARTING coordinates of all points in the command line. But in this case, they are same indeed. Nov 8, 2014 at 12:49

Jesse provided you an answer with your coupling question, this show how you can use tikz to draw the circular arrows so that you have matching arrow heads and also the ability to control the color: ## Code:

\documentclass{article}

\usepackage{tikz}
\usepackage[siunitx,europeanresistors,cuteinductors,americanvoltages,americancurrents]{circuitikz}

\usepackage{calc}

%% https://tex.stackexchange.com/questions/29841/how-to-put-a-symbol-inside-a-circle-arrow/29856#29856
\makeatletter
\newlength\@SizeOfCirc%
\newcommand{\CricArrowRight}[]{%
\setlength{\@SizeOfCirc}{\maxof{\widthof{#2}}{\heightof{#2}}}%
\tikz [x=1.0ex,y=1.0ex,line width=.20ex, draw=black, fill=black, -stealth, #1]%
\draw [anchor=center]%
node (0,0) {#2}%
(0,1.2\@SizeOfCirc) arc (85:-240:1.2\@SizeOfCirc);%
}%
\newcommand{\CricArrowLeft}[]{\CricArrowRight[xscale=-1,#1]{#2}}%
\makeatother

\begin{document}
\begin{circuitikz}
\draw (0,0) to [R=$R_1$] (2,0) -| (3,-1) to [L,l_=$L_1$] (3,-3) |- (-1,-4) to [V,l=$v_g$] (-1,0) -- (0,0)
(1,-2) node{\CricArrowRight[draw=cyan, fill=cyan, text=red]{$I_1$}};
\draw (5,0) to [short] (7,0) -| (8,-1) to [R=$R_2$,] (8,-3) |- (4,-4) to [L,l_=$L_2$] (4,0) -- (4,0) --(5,0)
(6,-2) node{\CricArrowLeft{$I_2$}};
\draw [fill=black] (2.5,-1)node(a){} circle (2pt);
\draw [fill=black] (4.5,-3)node(b){} circle (2pt);
\draw [<->,>=stealth] (a)  to [bend left] node[pos=0.5,fill=white] {M} ++(2,0);
\end{circuitikz}
\end{document}