Skip to main content
Engineering LibreTexts

5.2: Nodal Analysis

  • Page ID
    52918
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Nodal analysis is a technique that can be applied to virtually any circuit. In general use, it might be considered a universal solution technique as there are no practical circuit configurations that it cannot handle. Nodal analysis relies on the application of Kirchhoff's current law to create a series of node equations that can be solved for node voltages. These equations are based on Ohm's law and will be of the form \(I = V/R\), or more generally, \(I = (1/RX) \cdot VA + (1/RY) \cdot VB \dots\) Once the node voltages are obtained, finding any branch currents or component powers becomes an almost trivial exercise. We will examine two variations; a general version that can be used with both voltage and current sources, and a second somewhat quicker version that can be used with circuits only driven by current sources.

    General Method

    Consider the circuit shown in Figure 7.2.1 . We begin by labeling connection nodes and assigning current directions. We are particularly interested in current junctions, that is, places where currents can combine or split. These are also known as summing nodes and are circled in green on the figure. The current directions are chosen arbitrarily and may be the opposite of reality. This is not a problem. If we assign directions that are wrong, the resulting directions will ultimately show up reversed but the computed node voltages will be just fine.

    clipboard_e5807e4bba366fd50e0e7e3b31c540cf1.png

    Figure 7.2.1 : Basic dual voltage source circuit with currents and nodes defined.

    One node is chosen as the reference. This is the point to which all other node voltages will be measured against. Typically, the reference node is ground, although it does not have to be.

    We now write a current summation equation for each summing node, except for the reference node. In this circuit there is only one node where currents combine (other than ground) and that's node \(b\). Points \(a\) and \(c\) are places where components connect, but they are not summing nodes, so we can ignore them for now. Using KCL on node \(b\) we can say:

    \[I_1 + I_2 = I_3 \nonumber \]

    Next, we describe these currents in terms of the node voltages and associated components via Ohm's law. For example, \(I_3\) is the node \(b\) voltage divided by \(R_3\) while \(I_1\) is the voltage across \(R_1\) divided by \(R_1\). This voltage is \(V_a − V_b\). Therefore,

    \[\frac{V_a −V_b}{R_1} + \frac{V_c −V_b}{R_2} = \frac{V_b}{R_3} \nonumber \]

    Noting that \(\frac{V_a = E_1}\) and \(\frac{V_c = E_2}\), with a little algebra this can be reduced to a series of products of conductances and voltages:

    \[\left( \frac{1}{R_1} \right) E_1 + \left( \frac{1}{R_2} \right) E_2 = \left( \frac{1}{R_1} + \frac{1}{R_2} + \frac{1}{R_3} \right) V_b \nonumber \]

    All quantities are known except for \(V_b\) and thus it is easily found with a little more algebra. As we shall see, this conductance-voltage product format turns out to be a convenient way of writing these equations. Also, note that the first two terms on the left reduce to fixed current values. If there had been more nodes, there would have been more equations, one for each node.

    clipboard_e5de46179a415d49daf5e1537e4dd8436.png

    Figure 7.2.2 : Basic dual current source circuit.

    For current sources, a more direct approach is possible. Consider the circuit of Figure 7.2.2 . We start as before, identifying nodes and labeling currents. This is shown in Figure 7.2.3 . We then write current summation equations at each node (except for ground). We consider currents entering a node as positive, and exiting as negative.

    clipboard_e33b06ca4b9418463cd46bc0a703a9402.png

    Figure 7.2.3 : Basic dual current source circuit with currents and nodes defined.

    \[\text{Node } a: I_1 = I_3 + I_4 \nonumber \]

    \[\text{Node } b: I_3 = I_2 + I_5, \text{ and rearranging in terms of the fixed source,} \nonumber \]

    \[\text{Node } b: −I_2 = −I_3 + I_5 \nonumber \]

    The currents are then described by their Ohm's law equivalents:

    \[\text{Node } a: I_1 = \frac{V_a −V_b}{R_3} + \frac{V_a}{R_1} \nonumber \]

    \[\text{Node } b: −I_2 = − \frac{V_a −V_b}{R_3} +\frac{V_b}{R_2} \nonumber \]

    Expanding and collecting terms yields:

    \[\text{Node } a: I_1 = \left( \frac{1}{R_1} + \frac{1}{R_3} \right) V_a − \left( \frac{1}{R_3} \right) V_b \nonumber \]

    \[\text{Node } b: −I_2 =− \left( \frac{1}{R_3} \right) V_a + \left( \frac{1}{R_3} + \frac{1}{R_2} \right) V_b \nonumber \]

    As the resistor values and currents are known, simultaneous equation solution techniques may be used to solve for the node voltages. Once again, there will be as many equations as node voltages. It is very important that the terms “line up” when the final system of equations is written out. That is, there should be a column for the \(V_a\) terms, a column for the \(V_b\) terms, and so on. They should not be written out in random order. This format will make it much it easier to enter the coefficients into a calculator or solve manually.

    Example 7.2.1

    Determine \(V_b\) in the circuit of Figure 7.2.4 .

    clipboard_e48c0f997d06bd1dfeb57b615277c47d0.png

    Figure 7.2.4 : Circuit for Example 7.2.1 .

    This circuit has two current summing nodes, ground and node \(b\). Let us assume that the currents from the two sources flow into node \(b\) and the exiting current flows down through the 5 k\( \Omega \) resistor. It will be convenient if we find the conductance equivalents of the resistors before continuing. Taking the reciprocals we find: 1 k\( \Omega \) = 1 mS, 4 k\( \Omega \) = 0.250 mS, and 5 k\( \Omega \) = 0.2 mS. Through KCL we can say:

    \[I_{1k} + I_{4k} = I_{5k} \nonumber \]

    Replacing these currents with their Ohm's law equivalents yields,

    \[\frac{15 V −V_b}{1k \Omega } + \frac{6V −V_b}{4 k \Omega } = \frac{V_b}{5 k \Omega } \nonumber \]

    collecting terms,

    \[15mA+1.5mA = \left( \frac{1}{1k \Omega } + \frac{1}{4k \Omega } + \frac{1}{5k \Omega } \right) V_b \nonumber \]

    and solving for \(V_b\),

    \[V_b = \frac{16.5 mA}{1mS +0.25mS +0.2mS} \nonumber \]

    \[V_b = 11.379 \text{ volts} \nonumber \]

    As \(V_b\) is higher than the 6 volt source, our assumed current direction for the 4 k\( \Omega \) resistor was incorrect; we assumed right to left but it is in fact left to right, flowing from 11.379 volts to 6 volts. As you can see, this did not present a problem.

    For comparison sake, this circuit was solved in Chapter 6 using source conversions and also using superposition.

    Inspection Method

    The system of equations can be obtained directly through inspection if the circuit contains no voltage sources. For the node under inspection, sum all of the current sources connected to it to obtain the current constant. The conductance term for that node will be the sum of all of the conductances connected to that node. For the other node conductances, determine the conductances between the node under inspection and these other nodes. These terms will all be negative. As a crosscheck, the set of equations produced must exhibit diagonal symmetry, that is, if a diagonal is drawn from the upper left to the lower right through the conductance-voltage pairs, then the coefficients found above the diagonal will have to match those found below the diagonal as we move perpendicular from the diagonal. This is illustrated in Figure 7.2.5 . Diagonal symmetry can be seen in Example 7.2.1 by noting the matching “\(−1/R_3\)” coefficients in the final pair of equations. As an example of the inspection method, focusing on node \(a\) in Figure 7.2.2 , we find the fixed current source \(I_1\) feeding it (entering, therefore positive). The conductances directly connected to node \(a\) are \(1/R_1\) and \(1/R_3\), yielding the coefficient for \(V_a\). The only conductance common between nodes \(a\) and \(b\) is \(1/R_3\), yielding the \(V_b\) coefficient.

    clipboard_e8b6c3323ca94f2818ee0d03898abb142.png

    Figure 7.2.5 : Diagonal symmetry.

    The inspection method is summarized as follows:

    1. Verify that the circuit uses only current sources with resistors and no voltage sources. If voltage sources exist, they must be converted to current sources before proceeding.

    2. Find all of the current summing nodes and number them. Also decide on the reference node (usually ground).

    3. To generate an equation, locate the first node. This is the node of interest and the next few steps will be associated with it.

    4. Sum the current sources feeding the node of interest. Entering is deemed positive while exiting is deemed negative. The sum is placed on one side of the equals sign.

    5. Next, find all of the resistors connected to the node of interest and write them as a sum of conductances on the other side of the equals sign, the group being multiplied by this node's voltage (e.g., \(V_1\)).

    6. Now find all of the resistors that are connected to the node of interest and to other nodes (except the ground reference). For each of these other nodes, multiply the sum of the conductances between the node of interest and this other node by this other node's voltage, and then subtract that product from the equation built so far. Once all other nodes are considered, this equation is finished.

    7. Find the next node and treat this as the new node of interest.

    8. Repeat steps 4 through 7 until all nodes have been treated as the node of interest. Each iteration creates a new equation. There will be as many equations as there are nodes, less the reference node. Check for diagonal symmetry and solve.

    The inspection method is best observed in action; as in the following example.

    Example 7.2.2

    Determine \(V_a\) and \(V_b\) in the circuit of Figure 7.2.6 . Also determine the current flowing through the 100 \( \Omega \) resistor.

    clipboard_e3c1b3fa98d30610dc661a892730e7fa5.png

    Figure 7.2.6 : Circuit for Example 7.2.2 .

    This circuit has three current summing nodes; ground, node \(a\) and node \(b\). Also, it uses only current sources and no voltage sources. Therefore, we are able to use the inspection method to obtain the system of equations (in this case, two equations).

    We begin by focusing on node \(a\), our first node of interest. We will build the first expression piece by piece. First we find the current sources feeding this node:

    \[800mA − 2A = \dots \nonumber \]

    Next, we find all of the resistors connected to node \(a\) and write them as conductances, the group being multiplied by node voltage \(a\):

    \[800mA − 2A = \left( \frac{1}{10 \Omega } + \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_a \dots \nonumber \]

    Now find all of the resistors that are connected to this node and to the other nodes. Multiply those resistors (expressed as conductances) by the other associated node voltages and subtract the products from the expression built so far. Repeat for all remaining nodes except the ground reference. In this example there is only one other node, node \(b\), and thus only one iteration.

    \[800mA −2 A = \left( \frac{1}{10 \Omega } + \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_a − \left( \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_b \nonumber \]

    Finally, simplify the constants and coefficients, and the first expression is complete:

    \[−1.2 A = 130mS V_a − 30mS V_b \nonumber \]

    Now we repeat the entire process for the next equation. Node \(b\) is our new node of interest. The fixed current sources are:

    \[−800mA −300 mA = \dots \nonumber \]

    Next, we find all of the resistors connected to node \(b\) and write them as conductances, the group being multiplied by node voltage \(b\):

    \[−800mA −300 mA = \left( \frac{1}{25 \Omega } + \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_b \dots \nonumber \]

    Now we find all of the resistors that are connected to this node and to the other nodes. Multiply those resistors (expressed as conductances) by these other node voltages and subtract those products from the expression built so far. Make sure the terms align vertically based on the node voltages.

    \[−800mA −300 mA = − \left( \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_a+ \left( \frac{1}{25 \Omega } + \frac{1}{50 \Omega } + \frac{1}{100 \Omega } \right) V_b \nonumber \]

    Finally, simplify the constants and coefficients, and this expression is complete:

    \[−1.1 A =−30 mS V_a +70 mS V_b \nonumber \]

    We now have two equations with two unknowns. Let's check for diagonal symmetry:

    \[−1.2 A = 130mS V_a − 30mS V_b \nonumber \]

    \[−1.1 A = −30 mS V_a + 70 mS V_b \nonumber \]

    The perpendicular coefficient is −30 mS on each side. We can now solve the system. The results are \(V_a\) = −14.27 volts and \(V_b\) = −21.83 volts. The current flowing through the 100 resistor is (−14.27 V − (−21.83 V))/100 \( \Omega \), or approximately 75.6 mA flowing left to right.

    Let's verify that these values are correct. We can perform a KCL summation at node \(a\) and see if it balances. We already know that 2 amps and 75.6 milliamps exit while 800 milliamps enters. We only need to find the currents through the 10 \( \Omega \) and 50 \( \Omega \) resistors. First, notice that the 50 \( \Omega \) sees the same voltage as the 100 \( \Omega \) resistor. As it is half the resistance, it must produce twice the current, or 151.2 milliamps exiting. The current through the 10 \( \Omega \) is found via Ohm's law, or −14.27 V/10 \( \Omega \), which is 1.427 amps entering.

    \[\text{Entering: } 0.8 A + 1.427 A = 2.227 A \nonumber \]

    \[\text{Exiting: } 2 A + 0.0756 A + 0.1512 A \approx 2.227 A \nonumber \]

    KCL is satisfied. To complete the verification we perform the same summation on node \(b\). This is left as an exercise.

    Example 7.2.3

    Write the node equations for the circuit of Figure 7.2.7 .

    clipboard_e768c9f540162d788509395278829e8e2.png

    Figure 7.2.7 : Circuit for Example 7.2.3 .

    This circuit has four current summing nodes; ground and nodes \(a\), \(b\), and \(c\). Also, it uses only current sources and no voltage sources. Therefore, we are able to use the inspection method to obtain the system of equations (three equations).

    As we have already seen, we will wind up with conductance values in the final equations. We can save some work later by finding the conductance value of each resistor right now. The result is shown in Figure 7.2.8 .

    clipboard_ea0fddc273ea2d9408249df8f9f9a5eaa.png

    Figure 7.2.8 : Circuit of Figure 7.2.7 shown with conductances instead of resistances.

    We begin by focusing on node \(a\), our first node of interest. We will build the first expression piece by piece. First we find the current sources feeding this node. That's just the 1.5 A source, entering is positive.

    \[1.5A = \dots \nonumber \]

    Next, we find all of the conductances connected to node a and multiply by node voltage a:

    \[1.5A = (0.2S +0.25S) V_a \dots \nonumber \]

    Find all of the conductances that are connected to this node and to the other nodes. Multiply those conductances by the other associated node voltages and subtract those products from the expression built so far. Repeat for all remaining nodes except the ground reference.

    \[1.5A = (0.2S +0.25S) V_a −(0.25S) V_b − (0) V_c \nonumber \]

    Finally, simplify the constants and coefficients, and the first expression is complete:

    \[1.5A = 0.45S V_a − 0.25S V_b − 0 V_c \nonumber \]

    We leave the zero term in just for alignment. Now we repeat the entire process for the next equation. The node of interest is now node \(b\). Here is the result:

    \[0 =−0.25 S V_a +0.8S V_b − 0.5 V_c \nonumber \]

    And finally for node \(c\) we have:

    \[1A = 0 V_a − 0.5S V_b +0.6 V_c \nonumber \]

    Our three equations are (with some padding to see the columns better):

    \[1.5A = 0.45S V_a −0.25S V_b −0 V_c \nonumber \]

    \[0 =−0.25 SV_a +0.8SV_b −0.5V_c \nonumber \]

    \[1A = −0V_a −0.5SV_b +0.6V_c \nonumber \]

    Check for diagonal symmetry: we have pairs of −0.25, 0, and −0.5 straddling the diagonal.

    Now the system of equations can be solved for the three node voltages and verified using KCL summations at each node. This is left as an exercise.

    Converting Sources and Other Simplifications

    Given circuits with voltage sources, it may be easier to convert them to current sources and then apply the inspection technique rather than using the general approach outlined initially. There is one trap to watch out for when using source conversions: the voltage across or current through a converted component will most likely not be the same as the voltage or current in the original circuit. This is because the location of the converted component will have changed. For example, the circuit in Figure 7.2.9 could be solved using nodal analysis by converting the voltage source and the associated resistance into a current source. That is, \(E/R_1\) would be converted into a source \(I_3\) with a parallel resistor \(R_1\). This is shown in Figure 7.2.10 .

    clipboard_ee6a4071b68c86758c3cbbeea5ca3c769.png

    Figure 7.2.9 : Circuit with both current and voltage sources.

    clipboard_e68a5d38cdea740f2d6e420f9e0ba206d.png

    Figure 7.2.10 : Circuit converted to current sources only.

    Here is the trap: in the converted circuit, although \(R_1\) still connects to node \(a\), the other end no longer connects to the voltage source. Rather, the right side now connects to node \(c\). Therefore, the voltage drop across \(R_1\) in the converted circuit is not likely to equal the voltage drop seen across \(R_1\) in the original circuit (the only way they would be equal is if \(E\) was 0 volts). In the converted circuit, nodes \(a\) and \(c\) have not changed from the original, so the original voltage across \(R_1\) can be determined via \(V_a\), \(V_c\) and \(E\) in the original circuit.

    If a circuit uses voltage sources exclusively, or even a very large proportion of voltage sources, an alternate technique called mesh analysis may be a better choice than using numerous conversions. Mesh analysis will be detailed later in this chapter.

    A final item to consider is to simplify resistor networks in order to reduce the number of nodes. Fewer nodes means fewer equations and a quicker solution. For example, a portion of a network might consist of two parallel resistors which are in series with a third resistor. Ordinarily, the common junction of these three resistors would constitute a current summing node and an equation would need to be derived for it. It may be easier to simply replace the trio with a single resistor that equals the series-parallel combination value. This would remove the node and simplify creating the system of equations, but not alter the remainder of the circuit.

    Supernode

    On occasion you may come across a circuit like the one shown in Figure 7.2.11 that has a voltage source without a series resistance associated with it. Without that resistance, it becomes impossible to create an expression for the current passing through the source using the general method, and impossible to convert the voltage source into a current source in order to use the inspection method. One possible way out of this quandary is to simply add a very small resistor in series with it so that a source conversion is possible. The resistor in question would have to be much smaller than any surrounding resistors in order to have minimal impact on the results. A reduction by two orders of magnitude would generally yield a variation smaller than that produced by resistor tolerances in all but high precision circuits. The other way out is to use a supernode.

    clipboard_e535f8328e170004d3130031697758909.png

    Figure 7.2.11 : Circuit for supernode analysis.

    A supernode is, in effect, the combination of two nodes. It relies on a simple observation. If we examine the circuit of Figure 7.2.11 , the path of the voltage source produces identical currents flowing into and out of nodes \(a\) and \(b\). As a consequence, if we treat the two nodes as one big node, then when we write a KCL summation, these two terms will cancel. To see just how this works, refer to Figure 7.2.12 .

    In this version we have replaced the voltage source with its ideal internal resistance, a short. We have also labeled the two nodes of interest, \(a\) and \(b\), and labeled the currents, drawn with convenient directions.

    clipboard_efe46ff08b9f1a360460ad094ddd61137.png

    Figure 7.2.12 : Circuit modified for supernode analysis.

    Due to the shorted voltage source, nodes \(a\) and \(b\) are now the same node. Consider the currents entering and exiting this combined or “super” node. On the left side (formerly node \(a\)) we see a constant current \(I_x\) entering while \(I_1\), \(I_2\) and \(I_3\) are exiting. On the right side (formerly node \(b\)) we see \(I_y\) exiting along with \(I_4\), and entering we see \(I_1\) and \(I_2\). Now let's set up the entering currents on the left side of the equals sign with the exiting currents on the right:

    \[\sum I_{in} = \sum I_{out} \nonumber \]

    \[I_x+I_1+I_2 = I_y+I_1+I_2+I_3+I_4 \nonumber \]

    This can be simplified to:

    \[I_x − I_y = I_3 +I_4 \nonumber \]

    Writing this in terms of Ohm's law we have:

    \[I_x − I_y = \frac{1}{R_1} V_a + \frac{1}{R_3} V_b \nonumber \]

    We also know that \(V_a − V_b = E\) from the original circuit. Assuming all sources and resistors are known, that makes two equations with two unknowns, solvable using simultaneous equation techniques. This is illustrated in the following example.

    Example 7.2.4

    Find \(V_a\) and \(V_b\) for the circuit of Figure 7.2.13 .

    clipboard_e9946d95e1605260155ef98579db25769.png

    Figure 7.2.13 : Circuit for Example 7.2.4 .

    clipboard_e9677ae5d349364101ec3b94bc5110e64.png

    Figure 7.2.14 : Circuit modified for supernode analysis.

    As shown in Figure 7.2.14 , we short the 60 volt source and write a current summation at the \(a\) \(b\) supernode:

    \[\sum I_{in} = \sum I_{out} \nonumber \]

    \[1A + I_1+I_2 = 2.5 A +I_1+I_2+I_3+I_4 \nonumber \]

    This can be simplified to:

    \[−1.5 A = I_3 +I_4 \nonumber \]

    Writing this in terms of Ohm's law we have:

    \[−1.5A = \frac{1}{4 \Omega } V_a + \frac{1}{10 \Omega } V_b \nonumber \]

    \[−1.5 A = 0.25S V_a +0.1S V_b \nonumber \]

    We also know that \(V_a − V_b = 60\) volts. Therefore \(V_b = V_a − 60\) volts. Substituting this into the prior equation yields:

    \[−1.5 A = 0.25S V_a +0.1S(V_a −60 V) \nonumber \]

    \[−1.5 A = 0.25S V_a +0.1S V_a −6A \nonumber \]

    \[4.5 A = 0.35S V_a \nonumber \]

    \[V_a = 12.857 V \nonumber \]

    We know that \(V_b\) is 60 volts below \(V_a\), so \(V_b = −47.143\) volts.

    To verify, we will perform a KCL summation at each node. For node \(a\), assuming \(I_1\) exits as drawn:

    \[I_1 = 1A − \frac{V_a}{4 \Omega } − \frac{V_a−V_b}{20 \Omega } \nonumber \]

    \[I_1 = 1 A− \frac{12.857V}{4 \Omega } − \frac{12.857V−(−47.143 V)}{20 \Omega } \nonumber \]

    \[I_1 =−5.2143A \text{ (negative exit means it's entering)} \nonumber \]

    Doing likewise for node \(b\), and assuming \(I_1\) enters as drawn:

    \[I_1 = 2.5 A+ \frac{V_b}{10 \Omega } − \frac{V_a−V_b}{20 \Omega } \nonumber \]

    \[I_1 = 2.5 A+ \frac{−47.143 V}{10 \Omega } − \frac{12.857V−(−47.143V)}{20 \Omega } \nonumber \]

    \[I_1 =−5.2143A \text{ (negative enter means it's exiting)} \nonumber \]

    These currents match meaning that the current through the voltage source is verified to be the same at both terminals, as it must be.

    An alternative to the basic supernode technique is to simply describe one node voltage in terms of another at the outset. This is illustrated in the example following.

    Example 7.2.5

    Find \(V_a\), \(V_b\) and \(V_c\) for the circuit of Figure 7.2.15 .

    clipboard_eb9eeb8469c7665313ca2e8a73314ad6b.png

    Figure 7.2.15 : Circuit for Example 7.2.5 .

    Once again we have a situation of a voltage source without a series resistance. Without having to short it and thus treating nodes \(a\) and \(c\) as an explicit supernode, we can instead note by observation that the currents entering and exiting the voltage source must be identical.

    The circuit is redrawn in Figure 7.2.16 with currents labeled and using equivalent conductances in place of the resistances. This time the voltage source is left in.

    clipboard_e219077edf5eb9d1e9927f0dac3a8839f.png

    Figure 7.2.16 : Circuit of Example 7.2.5 with currents labeled and using conductances.

    We start with the observation that \(V_c = V_a − 8\) V. In other words, \(V_c\) is locked to \(V_a\) and if we find one of them, we can determine the other. Therefore, instead of writing equations using three nodes, we shall instead refer to node \(c\) in reference to node \(a\), that is we shall write \(V_a\) − 8 V wherever we need \(V_c\). Thus, this three node circuit will only need two equations.

    We begin at node \(a\) and apply KCL as usual.

    \[\sum I_{in} = \sum I_{out} \nonumber \]

    \[I_1+I_3 = I_2 \nonumber \]

    This is expanded using Ohm's law and we solve for \(I_1\):

    \[I_1 = I_2 −I 3 \nonumber \]

    \[I_1 = 0.2S V_a −0.5S (V_b −V_a ) \nonumber \]

    \[I_1 = 0.7S V_a −0.5S V_b \nonumber \]

    On to node \(b\):

    \[1A = I_3+I_4 \nonumber \]

    \[1A = 0.5S(V_b −V_a )+0.25S(V_b −V_c ) \nonumber \]

    \[1A = 0.5S(V_b −V_a )+0.25S(V_b −(V_a −8V)) \nonumber \]

    \[1A = 0.5S(V_b −V_a )+0.25S(V_b −V_a+8 V) \nonumber \]

    \[−1 A =−0.75V_a+0.75V_b \nonumber \]

    And finally node \(c\):

    \[I_4 = I_1+I_5 \nonumber \]

    \[I_1 = I_4 −I_5 \nonumber \]

    \[I_1 = 0.25S(V_b −V_c )−0.1SV_c \nonumber \]

    \[I_1 = 0.25S(V_b −(V_a−8V))−0.1S(V_a −8 V) \nonumber \]

    \[I_1 = 0.25S(V_b −V_a+8 V)−0.1S(V_a −8V) \nonumber \]

    \[I_1 =−0.35V_a+0.25V_b+2.8A \nonumber \]

    The final equations for nodes \(a\) and \(c\) both equal \(I_1\), meaning they equal each other. Thus,

    \[0.7SV_a −0.5SV_b = −0.35SV_a+0.25SV_b+2.8 A \nonumber \]

    \[2.8 A = 1.05SV_a −0.75SV_b \nonumber \]

    The final equations are:

    \[2.8A = 1.05SV_a −0.75SV_b \nonumber \]

    \[−1 A =−0.75SV_a +0.75SV_b \nonumber \]

    The solution is \(V_a = 6\) volts and \(Vb \approx 4.6667\) volts. As \(V_c\) is 8 volts less than \(V_a\), then \(V_c = −2\) volts.

    Computer Simulation

    In order to verify the result of Example 7.2.5 , the circuit is entered into a simulator as shown in Figure 7.2.17 .

    clipboard_e0b8a2bd4f1a7fb055a13f1356dea5cba.png

    Figure 7.2.17 : Circuit of Example 7.2.5 in the simulator.

    A DC operating point simulation is run. The results are shown in Figure 7.2.18 and match the calculated values perfectly. Node 1 corresponds to \(V_b\), node 2 corresponds to \(V_a\) and node 3 corresponds to \(V_c\).

    clipboard_ead776bc927e8769654ca07ae00c1cff5.png

    Figure 7.2.18 : Simulation results for the circuit of Example 7.2.5 .


    This page titled 5.2: Nodal Analysis is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by James M. Fiore.

    • Was this article helpful?