6

I am desperately trying to draw mutual coupling between two inductors, something like this:

M between the two curved arrows.

or

M above the curved arrow.

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}

Thanks in advance!

1

2 Answers 2

10

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

enter image description here

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}
5
  • Wow, thanks a lot, that's pretty much what I was searching for!
    – JimboJones
    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!
    – JimboJones
    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.
    – Jesse
    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!
    – JimboJones
    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.
    – Jesse
    Nov 8, 2014 at 12:49
1

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:

enter image description here

References:

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}[2][]{%
    \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}[2][]{\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}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .