A supermesh is a combined analytical loop used in circuit theory to bypass a current source shared between two adjacent meshes, allowing you to solve for mesh currents without needing to know the voltage drop across that current source. When you are doing hand calculations or debugging SPICE netlists, hitting a current source on a shared branch normally breaks standard Kirchhoff’s Voltage Law (KVL) because the voltage across an ideal current source is undefined until the rest of the circuit is solved. The supermesh technique elegantly sidesteps this by merging the two meshes into one large perimeter loop.
What a Supermesh Actually Changes in Your Analysis
To be clear: a supermesh does not change the physical circuit or the actual current flowing through your components. It changes your mathematical model. In standard mesh analysis, you write a KVL equation for every independent 'window' (mesh) in a planar circuit. If a 5A current source sits on the wire shared between Mesh 1 and Mesh 2, you cannot write a standard KVL equation for either mesh because you do not know the voltage drop across that current source.
By creating a supermesh, you effectively remove the shared branch from your KVL walk. You trace the outer perimeter of the two combined meshes instead. This reduces the number of KVL equations you need to write by one, but it requires you to add a constraint equation based on the current source's known value.
Do not confuse a supermesh with a supernode. A supermesh is used in mesh analysis when a current source is shared between two meshes. A supernode is used in nodal analysis when a voltage source is shared between two non-reference nodes. Mixing these up is the most common reason students and hobbyists fail circuit exams or write incorrect SPICE subcircuits.
Worked Numeric Example: Solving a Supermesh
Let us look at a concrete DC circuit to see the math in action. Imagine a planar circuit with two adjacent meshes:
- Mesh 1 (Left): Contains a 20V DC voltage source and a 2Ω resistor ($R_1$).
- Mesh 2 (Right): Contains a 4Ω resistor ($R_2$) and a 6Ω resistor ($R_3$) in series.
- Shared Branch: A 5A ideal current source ($I_s$) pointing downward, shared between Mesh 1 and Mesh 2.
We assign clockwise mesh currents $I_1$ for Mesh 1 and $I_2$ for Mesh 2.
The 5A current source flows downward. Since $I_1$ flows down through the shared branch and $I_2$ flows up through it, the net current is $I_1 - I_2$.
I_1 - I_2 = 5A → I_1 = I_2 + 5
Step 2: The Supermesh KVL
We skip the shared branch and walk the outer perimeter of the combined supermesh, starting from the bottom left corner:
- Up through the 20V source:
+20V - Right through $R_1$ (2Ω):
- 2Ω(I_1) - Down through $R_2$ (4Ω):
- 4Ω(I_2) - Left through $R_3$ (6Ω):
- 6Ω(I_2)
Setting the sum to zero gives us our KVL equation:
20 - 2(I_1) - 4(I_2) - 6(I_2) = 0
20 - 2(I_1) - 10(I_2) = 0
Step 3: Solve the System
Substitute the constraint ($I_1 = I_2 + 5$) into the KVL equation:
20 - 2(I_2 + 5) - 10(I_2) = 0
20 - 2I_2 - 10 - 10I_2 = 0
10 - 12I_2 = 0
12I_2 = 10 → $I_2 = 0.833A$
Now find $I_1$:
I_1 = 0.833 + 5 → $I_1 = 5.833A$
Verification: The voltage drop across $R_1$ is $5.833A \times 2\Omega = 11.66V$. The voltage drop across $R_2 + R_3$ is $0.833A \times 10\Omega = 8.33V$. The sum is $11.66V + 8.33V = 19.99V \approx 20V$. KVL holds perfectly.
Where You Meet This in Practice (Beyond the Textbook)
In professional engineering, you rarely solve supermeshes by hand unless you are verifying a small sub-circuit. However, the concept of the supermesh dictates how modern simulation engines and physical power systems behave.
1. SPICE Simulation Engines (MNA vs. Mesh)
Software like LTspice or Ngspice does not actually use mesh analysis under the hood; it uses Modified Nodal Analysis (MNA). Why? Because current sources are trivial in nodal analysis—they simply inject a known value into the right-hand side of the matrix. Voltage sources, however, require extra equations in MNA (effectively acting like 'supernodes'). Understanding supermesh theory helps you debug SPICE convergence errors, particularly when dealing with floating current sources or singular matrices caused by improper grounding (MIT OpenCourseWare 6.002).
2. PCB Power Distribution Networks (PDNs)
When designing a multi-layer PCB, a high-current microprocessor core often acts as a constant-current sink sitting between two power planes (e.g., a 1.1V core plane and a ground plane). If you are modeling the PDN impedance using a mesh of parasitic resistances and inductances, the processor's current draw creates a supermesh scenario where the current is forced through specific return vias.
3. Constant Current LED Drivers
In lighting design, chips like the TI LM3409 drive parallel strings of LEDs using shared constant current sinks. If one string fails open, the current source forces the remaining mesh to absorb the full current, drastically altering the voltage drops across the remaining branches.
Decision Path: Which Technique to Pick
When staring at a complex schematic, choosing the right analytical shortcut saves hours of algebra. Use this decision tree to pick your method:
| Circuit Feature | Shared Between Meshes/Nodes? | Recommended Technique |
|---|---|---|
| Current Source | Yes (Shared branch) | Supermesh (Mesh Analysis) |
| Current Source | No (Outer edge only) | Standard Mesh (Current is already known) |
| Voltage Source | Yes (Shared branch) | Supernode (Nodal Analysis) |
| Voltage Source | No (Outer edge only) | Standard Nodal (Node voltage is already known) |
| Mix of both sources | Highly complex planar | Source Transformation or Software (MNA) |
Common Pitfalls and How to Avoid Them
- Forgetting the Constraint Equation: The most frequent mistake is merging the meshes, writing the outer KVL, and then realizing you have one equation but two unknowns. The current source is not 'deleted'—it provides the vital constraint equation ($I_1 \pm I_2 = I_{source}$).
- Inventing a Voltage Variable: Never assign a variable like '$V_x$' to the voltage across the shared current source and try to write KVL through the inner branch. This defeats the entire purpose of the supermesh and introduces an unnecessary unknown.
- Mishandling Dependent Sources: If the shared current source is a dependent source (e.g., $0.5 I_x$), the supermesh technique still works, but your constraint equation must be written in terms of the controlling variable. Ensure the controlling variable is mapped back to your mesh currents before solving.
Supermesh FAQ
Can a supermesh contain another current source on its outer perimeter?
Yes. If a current source sits on the outer boundary of your newly formed supermesh, it simply dictates the mesh current for that specific segment. You do not need to create a 'super-supermesh'; you just use the known current value in your KVL walk.
Does supermesh analysis work for AC circuits?
Absolutely. The topology rules remain identical. You simply transition to the phasor domain, replacing resistors with complex impedances ($Z = R + jX$) and using complex arithmetic for your KVL and constraint equations All About Circuits AC Textbook.
What happens if a current source is shared by THREE meshes?
In a strictly planar circuit, a single branch can only be shared by a maximum of two meshes. If you think a current source is shared by three meshes, your circuit is either non-planar (requiring graph theory and cut-sets) or you have misidentified the mesh boundaries.






