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!

2 Answers2

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}
Jesse
  • 29,686
  • Wow, thanks a lot, that's pretty much what I was searching for! – JimboJones Nov 08 '14 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 08 '14 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 08 '14 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 08 '14 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 08 '14 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}

Peter Grill
  • 223,288