What Is a Supermesh? Circuit Analysis Explained

A supermesh is a technique used in circuit analysis when a current source sits on the boundary between two meshes, making it impossible to write a standard voltage equation for either mesh individually. You handle this by combining the two affected meshes into one larger loop that bypasses the current source entirely, then writing a single Kirchhoff’s Voltage Law (KVL) equation around that combined path. It’s one of the essential tools in mesh analysis, and once you understand the logic behind it, it’s surprisingly mechanical to apply.

Why a Current Source Creates a Problem

In standard mesh analysis, you assign a circulating current to each loop and write a KVL equation summing the voltage drops around it. That works perfectly when every element in the loop has a known voltage or a voltage that depends on current (like a resistor, where V = IR). The trouble starts when a current source shares a branch between two meshes. A current source forces a specific current through its branch, but the voltage across it is unknown and depends on the rest of the circuit. You can’t write a voltage drop for it the way you can for a resistor or a voltage source.

If the current source were entirely inside a single mesh (not shared with another), you could simply set that mesh current equal to the source value and move on. The supermesh situation arises specifically when the current source belongs to two meshes at once.

How to Form a Supermesh

To build the supermesh, you mentally erase the branch containing the current source (and any element in series with it) and treat the two meshes it connected as a single larger loop. You then trace around the outside of this combined loop, writing one KVL equation that includes the resistors and voltage sources along that outer path. The current source and anything in series with it simply don’t appear in this equation.

This single KVL equation replaces the two individual mesh equations you would have written. But now you’re short one equation, since you went from two meshes to one equation. The missing equation comes from the current source itself: it defines a fixed relationship between the two mesh currents. If the current source pushes a current i_s from mesh A toward mesh B, then:

i_A − i_B = i_s

This constraint equation, combined with the supermesh KVL equation, gives you the system of equations you need to solve for both mesh currents.

Step-by-Step Process

  • Assign mesh currents. Label a clockwise current variable for each mesh in the circuit, just as you would in regular mesh analysis.
  • Identify the shared current source. Find any current source that lies on the boundary between two meshes.
  • Write the constraint equation. Express the current source value as the difference between the two mesh currents sharing that branch. Pay attention to direction: if the source current flows in the same direction as mesh A’s assumed current, then i_A − i_B = i_s.
  • Trace the supermesh. Walk around the outer boundary of the two combined meshes, skipping the branch with the current source. Write a KVL equation summing all voltage drops and rises along this path.
  • Write normal KVL for remaining meshes. Any mesh in the circuit that doesn’t involve the shared current source gets a standard KVL equation.
  • Solve the system. You now have enough equations to find every mesh current.

A Worked Example

Consider a circuit with three meshes. Mesh 1 contains an 80V voltage source and resistors of 10Ω, 20Ω, and 30Ω. Meshes 2 and 3 share a current source on their boundary, and a 30V voltage source and 40Ω resistor appear in the outer loop of meshes 2 and 3. The mesh currents are i1, i2, and i3.

For mesh 1, which has no shared current source, you write a standard KVL equation:

80 = 60i1 − 20i2 − 30i3

For the supermesh (meshes 2 and 3 combined, bypassing the current source), tracing around the outer path gives:

30 = 70i3 − 50i1 + 20i2

The constraint equation from the current source relates i2 and i3 directly:

i3 − i2 = 15i_x

where i_x is a dependent variable defined elsewhere in the circuit. Solving this system of three equations yields all three mesh currents. From there, you can find any voltage or power in the circuit. For instance, the voltage across the 40Ω resistor turns out to be 104V (2.6A × 40Ω).

Common Mistakes to Avoid

The most frequent error is forgetting the constraint equation. The supermesh KVL equation alone isn’t enough because you’ve merged two unknowns into one equation. You always need the current source relationship to make up for the “lost” equation. Without it, your system is underdetermined and unsolvable.

Sign errors are the other major pitfall. When you write the constraint equation, the direction of the current source relative to your assumed mesh current directions matters. If you define both mesh currents as clockwise and the current source points from mesh 2 into mesh 1, then i1 − i2 equals the source current (not i2 − i1). Getting this backwards flips the sign of your answer. A 1A source in a circuit with a 21V source and resistors of 6Ω and 8Ω, for example, gives i1 − i2 = 1. Reversing that relationship would give you currents of the wrong magnitude and direction.

Similarly, double-check the polarity of any voltage sources inside the supermesh loop before writing the KVL equation. The sign convention for voltage rises and drops doesn’t change just because you’re working with a supermesh. Trace the loop in one direction and be consistent.

Supermesh vs. Supernode

If you’ve encountered supernode analysis, the supermesh is its dual. A supernode arises in nodal analysis when a voltage source connects two non-reference nodes, making it impossible to write a standard current equation at either node. You combine the two nodes, write one big KCL equation, and add a constraint from the voltage source. The supermesh does the same thing in mesh analysis, but with a current source instead of a voltage source. The underlying logic is identical: when an element prevents you from writing a standard equation, you expand your boundary to exclude it and add a constraint equation to compensate.

When You Need More Than One Supermesh

A circuit can have multiple supermeshes if more than one current source sits on a shared boundary. Each shared current source generates its own supermesh and its own constraint equation. In rare cases, three meshes can all be linked by current sources, requiring you to combine all three into a single large supermesh with two constraint equations. The principle stays the same regardless of complexity: exclude each problematic current source from the KVL path, and replace the lost equation with the current relationship it defines.