FB pixel

Special Case of KCL - Supernode Analysis


We’ve already discussed how we can take the help of Kirchhoff's Current Law (KCL) to determine the direction and magnitude of the current flowing in and out of the nodes, and through the branches of any given network. In most cases, we can easily apply the nodal analysis to figure out the required information. But there are some exceptions when the straightforward method just doesn’t work.

Consider the network shown below. Let’s try to find the branch currents, using the nodal analysis method, following the same steps as we followed in the KCL tutorial.

Step 1) Reviewing the network, we can see that we are given two resistors and two current sources, along with their values. But there’s also a voltage source of 2V present between the nodes N1 and N2. We’ll assume that the voltages at the nodes N1 and N2 are V1 and V2 respectively. The current through the 2Ω resistor is I1 and through the 1Ω resistor is I3 , both flowing downwards. The current I2 is flowing towards the right from node N1 to node N2, but if you notice, the branch has no resistance! The current is only passing through an ideal voltage source of 2V. How do we know that it’s an ideal voltage source? Because the voltage source has no series resistance. This is how we differentiate between an ideal and a practical voltage source.

Step 2) Here we already have our reference node at the bottom of the network. So this step will not bother us at all.

Step 3) Let’s try to write down the branch current equations for the three currents I1, I2, and I3

Do you see something strange right there? We have a zero in the denominator of I2. That will make the value of I2 infinite! Obviously, we cannot have an infinite amount of current flowing through our network. This is not the correct way to solve this problem. We need to change our approach to get the solution.

The branch current equations for I1 and I3 are valid and can be used as is. But for I2, we don’t have enough information at this moment to find the exact equation which would give us its value. So one thing we can do is to suppose the current I2 as some unknown term x

It can be said that now we have the equations of all the branch currents, and we can safely move ahead to the next step.

Step 4) Applying nodal analysis at node N1 and putting in the expressions we obtained in the previous step, we get

Similarly for node N2, we'll get

You can see that we have the term x in both the node equations. Hence we can take the value of x from the second equation and put it into the first one to get this,

Awesome! We finally have an equation consisting of the two node voltages we need to find.

But we have two unknowns in this equation, that’s why we need a second equation with the same terms in order to solve it. The good part is, that we can easily get that from the branch containing the ideal voltage source. As you can see in the network, the potential at node N1 is 2V greater than the potential at node N2, which can be written as:

Step 5) We finally have two unknowns and also two equations. Now we just need to do some basic math and we can get the values of V1 and V2. Once we’ve got those values, we can plug them into our branch current equations and get the values of the unknown currents as well. But this is a pretty long process for obtaining the values of branch current. We can take a much more generalized and shorter approach to obtain the same result in much less time.

Let’s redraw the same network, but this time we’ll do some modifications to suit our needs.

We know seeing this circuit set off some alarm bells in your brain. Where’s the voltage source? Where’s the current I2? But hang on for a moment, we’ll get this done. This is the right time to introduce you to the concept of “supernode”.

A supernode is basically a theoretical model in which we consider two non-reference nodes having an ideal voltage source present between them (N1 and N2 in our case), as a single node. In simple terms, we combine those two non-reference nodes to make a single node called a “supernode”.

Let’s apply nodal analysis to the supernode we’ve just created to get a common node equation. We can see that 3A is moving towards the supernode and the rest of the currents are moving away from the supernode. We can write it as,

And we already have the branch current equations for I1 and I3, so let’s plug them in, and we get,

Here’s the interesting part. This equation we’ve just obtained through the supernode method is exactly the same as what we obtained earlier when considering I2 as x. So basically you can say that the purpose of a supernode is just to help us obtain this common node equation in less time. Once we’ve got it, we’ll sort of “unfold” the circuit back to the original form and proceed ahead with the calculation of finding the required information.

Once again, we’ll get the second equation from the branch containing the ideal voltage source, and we are now left with the same two equations that we obtained earlier.


A different approach, but the same set of equations. This is the beauty of network analysis. You always have multiple ways to solve the problem. You know what we do now. We’ll solve them to get V1 and V2.

Step 5) Let’s simplify the first equation and get rid of the fractional parts

Now the equations finally look simple enough to perform substitutions,


Rearranging the terms in the second equation to get V1,

So that we can substitute it in the first equation

Placing this value in the second equation

We finally get node voltages as,

The next and final step is to find the branch currents by keeping these values of node voltages in the current equations we obtained in step 2,

To obtain the current I2, we can simply apply nodal analysis on any one of the two nodes of the network. For example, we can take the node N1 and form the KCL equation taking into consideration the direction of currents,

Finally, we’ve got all the branch currents of the network

We hope that now you understand why we need the concept of supernode for network analysis. We would still be able to solve the circuit if the “supernode” method didn’t exist. But the process would become tedious pretty quick, and no one would like that.

The previous problem was fairly easy. Let’s take another one, upping the complexity of the network. Once again, our task is to find all the branch currents, I1, I2, I3, I4 , and I5. Take some time to review the network and figure out what can be done.

Step 1) The values of all the resistors are already provided to us. Again we’ll assume that the voltages at the nodes N1, N2, and N3 are V1, V2, and V3 respectively. However, this time there are two ideal voltage sources present in our network. A 10V ideal voltage source is present between node N3 and the reference node. Do you think this voltage source will cause any difficulties in obtaining the branch currents? No, it won’t because it is connected between a reference and a non-reference node. In this case, we can directly write that the voltage at N3 or V3 is 10V.

But if we talk about the second ideal voltage source of 5V, it is connected between nodes N1 and N2. And because N1 and N2 are non-reference nodes, they form a supernode. So this time we don’t need to follow the longer method of solving the problem, instead, we can directly solve it using the supernode method.

Step 3) After considering the supernode, we can write the branch currents as

Step 4) Now that we’ve obtained the expressions for all the branch currents entering and leaving the supernode, we can write a common nodal equation for the supernode as

Replacing the currents with their expressions we obtained in the previous step, we get

And that becomes,

That’s one out of the two required equations. The second equation will be obtained from the branch which has the 5V voltage source,

Step 5) Now that we have both the equations, we’ll solve for V1 and V2 using a matrix calculator like the one present on our website: Linear Equations Calculator

So we get the values of V1 and V2 as

Awesome! Now we have everything we need to find out the currents in the branches of the network. We just need to plug in the values of V1 and V2 in the branch current equations obtained in step 3 to get the values of currents

The only thing left to do now is to apply nodal analysis on any one of the two nodes, N1 and N2, of the network to obtain the current through the 5V voltage source.

We can see it from the figure that,

What does this negative sign indicate? It means that the current I5 flows in the direction opposite to the marked direction, i.e., the current flows from N2 towards N1. And with this, we’ve obtained all the branch currents of the network.

We hope we were able to provide you with an intuitive understanding of the concept of “supernode” and how it helps us to find our way through some tricky network analysis problems. These are some fundamentals one should always be familiar with if they wish to explore more in this beautiful subject of network analysis.

Make Bread with our CircuitBread Toaster!

Get the latest tools and tutorials, fresh from the toaster.

What are you looking for?