Supernode circuit analysis, step by step
Updated
A supernode is what you use in nodal analysis when a voltage source connects two nodes, neither of which is the reference node. You can't write KCL at either node on its own, because the current through a voltage source is unknown. Instead, you treat the two nodes and the source as one big node: write a single KCL equation around all of it, and use the source as a constraint between the two node voltages.
The circuit below is the first worked example on this page. You can edit it, or draw your own, then solve it step by step.
What is a supernode?
A supernode is a region of a circuit that encloses a voltage source (independent or dependent) and the two non-reference nodes it connects. It isn't a real node, and it has no voltage of its own. It's a way of writing KCL when one of the branches is a voltage source.
The problem it solves is this. Nodal analysis writes the current through every branch in terms of node voltages: the current through a resistor from node to node is . That doesn't work for a voltage source, whose current can be anything the rest of the circuit needs. A supernode avoids ever having to write that current down: drawn around the source, the unknown current flows from one side of the boundary to the other, and so doesn't appear in KCL for the supernode at all.
| Where the voltage source is | What to do |
|---|---|
| Between a node and the reference node | No supernode. It sets that node's voltage: . |
| Between two non-reference nodes | A supernode: one KCL equation for both nodes, plus the constraint . |
| Two or more voltage sources joined at a node | One larger supernode around all of them, with one constraint per source. |
How to solve a circuit with a supernode
- Choose a reference node and label the voltage at every other node: , , and so on.
- Find the supernodes. Every voltage source between two non-reference nodes makes one. Draw a dashed boundary around the source and both of its nodes.
- Write the constraint equation. The source fixes the difference between its two node voltages: , where is the node at its + end.
- Write KCL for the supernode. Add up the currents leaving the supernode through every branch that crosses its boundary, and set the total to zero. Leave out the voltage source itself: its current stays inside the boundary.
- Write KCL at the other nodes as usual.
- Solve. You have one equation per unknown node voltage: a constraint and a KCL equation for each supernode, and a KCL equation for each other node. Substitute the constraint, or solve them all as a matrix.
- Check your answer with KCL at one of the supernode's nodes on its own, now that you can work out the source's current.
A supernode needs two equations because it covers two unknown node voltages. KCL gives one of them, and the voltage source (which is really KVL around the source) gives the other.
Example 1: a voltage source between two nodes
In the circuit at the top of the page, a source connects node 1 (its + end) and node 2. () connects node 1 to the reference node, () connects node 2 to the reference node, and a current source pushes current into node 2. Find and .
Step 1: label the nodes
The bottom wire is the reference node, , and the two unknowns are and .
Step 2: spot the supernode
sits between two non-reference nodes, so nodes 1 and 2, with between them, form a supernode.
Step 3: write the constraint
Step 4: write KCL for the supernode
Three branches cross the supernode's boundary: , and the current source. Adding up the currents leaving it, where 's comes in:
Step 5: solve
Substitute and multiply by 6:
Step 6: check
carries and carries , down to the reference node, which adds up to the from . KCL at node 2 on its own says the for flows from node 2 to node 1 through , which it can, as a voltage source carries whatever current the circuit needs.
Open Example 1 in Circuitsteps to see every step, including the matrix and the current through each component.
Example 2: a supernode and a grounded source
This circuit has two voltage sources. () connects node 1 to the reference node. () connects node 2 and node 3, with its + end at node 3. () connects nodes 1 and 2, () and () connect nodes 2 and 3 to the reference node, and pushes into node 3.
Step 1: deal with each voltage source
is between node 1 and the reference node, so it isn't a supernode. It just sets
is between two non-reference nodes, so nodes 2 and 3 form a supernode, with the constraint
Step 2: write KCL for the supernode
The branches crossing its boundary are , , and . Adding up the currents leaving:
Step 3: solve
Substitute and multiply by 8:
Step 4: check
Into the supernode come through and from . Out of it go through and through . Both add up to .
Open Example 2 in Circuitsteps to see it solved step by step.
Common mistakes
- Writing KCL at a supernode's nodes separately. Each would need the voltage source's current, which you don't know. Write one equation for the supernode as a whole.
- Forgetting the constraint equation. The supernode's KCL equation has two unknown node voltages in it. Without you'll be one equation short.
- Getting the constraint backwards. It's the + end's node voltage minus the − end's. Swapping them flips the sign of the source.
- Making a supernode out of a grounded source. A voltage source to the reference node just sets that node's voltage. It's an easier equation, not a supernode.
- Counting a branch twice. A resistor between the supernode's two nodes is inside its boundary, so its current doesn't appear in the supernode's KCL equation at all.
Supernode or supermesh?
A supernode is nodal analysis's way of handling a voltage source between two nodes. Mesh analysis has the same idea for current sources: a current source shared by two meshes makes a supermesh. If a circuit has lots of voltage sources, mesh analysis may need fewer equations, and if it has lots of current sources, nodal analysis may. Circuitsteps can solve a circuit both ways, so try the nodal analysis calculator and the mesh analysis calculator to compare. If the source is a dependent one, see nodal analysis with dependent sources.
Frequently asked questions
What is a supernode?
A supernode is a voltage source between two non-reference nodes, together with those two nodes, treated as one node in nodal analysis. You write one KCL equation for the whole supernode, and use the voltage source as a constraint between the two node voltages.
When do you use a supernode?
Whenever a voltage source, independent or dependent, connects two nodes and neither of them is the reference node. If one end of the source is the reference node, there's no supernode: the source just sets the other node's voltage.
How many equations does a supernode give?
Two: one KCL equation for the supernode as a whole, and one constraint equation, , from the voltage source. Together they replace the two KCL equations you'd normally write at its two nodes.
Is a supernode the same as a supermesh?
They are the same idea in different methods. A supernode handles a voltage source between two nodes in nodal analysis, and a supermesh handles a current source shared by two meshes in mesh analysis.
Can Circuitsteps solve circuits with supernodes?
Yes. Draw the circuit and choose nodal analysis, and Circuitsteps finds the supernodes itself, then shows the constraint, the supernode's KCL equation, the matrix and every node voltage.