Mesh Analysis Step by Step

Mesh Currents: The Big Idea

Mesh analysis attacks a circuit from the opposite direction of nodal analysis. Rather than asking “what voltage sits at each node?” it asks “how much current circulates around each loop?” The unknowns are mesh currents — fictitious clockwise currents that flow around each window of the planar circuit. Any real branch current is then the algebraic sum of the mesh currents that pass through that branch. The payoff is that Kirchhoff's Voltage Law (KVL) becomes the governing equation, and voltage sources, which are awkward in nodal analysis, slot in effortlessly.

Mesh analysis is the formal dual of nodal analysis. Where nodal uses KCL and node voltages, mesh uses KVL and loop currents; where nodal builds a conductance matrix, mesh builds a resistance matrix. The practical consequence is that the cheaper method is whichever produces fewer unknowns. A ladder network with two loops but five nodes is a clear mesh problem.

Counting the Independent Meshes

Redraw the circuit so no wires cross — mesh analysis is defined only for planar circuits. Each enclosed window is a mesh. For a connected circuit with BB branches and NN nodes, the number of independent meshes is fixed by Euler's relation for planar graphs:

M=BN+1M = B - N + 1

Assign a clockwise current I1,I2,,IMI_1, I_2, \ldots, I_M to each mesh. Clockwise is a convention, not a requirement, but using it uniformly makes the resistance matrix come out symmetric, which is a valuable error check.

Writing KVL Term by Term

Traverse each mesh in the direction of its own current and add up the voltage changes, setting the total to zero. The element rules are:

  • Resistor in one mesh only: contributes a drop +IkR+I_k R.
  • Resistor shared by two meshes: the net current is the difference of the two loop currents, so the drop seen by mesh kk is +(IkIj)R+(I_k - I_j)R.
  • Voltage source: a rise (minus to plus along the traversal) enters as Vs-V_s; a drop enters as +Vs+V_s.

Collecting terms yields the matrix form Ri=v\mathbf{R}\,\mathbf{i} = \mathbf{v}. The diagonal entry RkkR_{kk} is the sum of all resistances around mesh kk; the off-diagonal entry RkjR_{kj} is the negative of the resistance shared between meshes kk and jj.

Current Sources and the Supermesh

A current source in a branch shared by two meshes is the mesh-method equivalent of a floating voltage source in nodal analysis: the voltage across the source is unknown, so you cannot write a clean KVL term for that branch. The fix is a supermesh. Mentally remove the current-source branch, merge the two meshes into one larger loop, and write KVL around that loop while skipping the removed branch. Then restore the missing information with the source's defining constraint, IjIk=IsI_j - I_k = I_s, choosing the sign from the source's direction. If the current source belongs to only one mesh (an outer branch), that mesh current is simply Ik=±IsI_k = \pm I_s and no supermesh is needed.

Worked Example: Three Meshes With a Supermesh

Three meshes share a planar layout. A 12V12\,\text{V} source drives mesh 1. The resistors are R1=1ΩR_1 = 1\,\Omega (mesh 1 only), R2=2ΩR_2 = 2\,\Omega (shared by meshes 1 and 2), R4=2ΩR_4 = 2\,\Omega (mesh 3 only), and a 4A4\,\text{A} current source occupies the branch shared by meshes 2 and 3, directed so that I2I3=4AI_2 - I_3 = 4\,\text{A}.

Mesh 1 (ordinary KVL)

12+I1R1+(I1I2)R2=0    3I12I2=12-12 + I_1 R_1 + (I_1 - I_2)R_2 = 0 \;\Rightarrow\; 3I_1 - 2I_2 = 12

Supermesh (meshes 2 and 3)

KVL around the merged loop, skipping the current-source branch:

(I2I1)R2+I3R4=0    2I1+2I2+2I3=0(I_2 - I_1)R_2 + I_3 R_4 = 0 \;\Rightarrow\; -2I_1 + 2I_2 + 2I_3 = 0

Current-source constraint

I2I3=4I_2 - I_3 = 4

Assemble and solve the system

[320222011][I1I2I3]=[1204]\begin{bmatrix} 3 & -2 & 0 \\ -2 & 2 & 2 \\ 0 & 1 & -1 \end{bmatrix} \begin{bmatrix} I_1 \\ I_2 \\ I_3 \end{bmatrix} = \begin{bmatrix} 12 \\ 0 \\ 4 \end{bmatrix}

From the constraint, I2=I3+4I_2 = I_3 + 4. Substituting into the supermesh equation gives 2I1+2(I3+4)+2I3=0-2I_1 + 2(I_3 + 4) + 2I_3 = 0, so I1=2I3+4I_1 = 2I_3 + 4. Feeding both into mesh 1, 3(2I3+4)2(I3+4)=123(2I_3 + 4) - 2(I_3 + 4) = 12 reduces to 4I3=84I_3 = 8. The solution is:

I3=2A,I2=6A,I1=8AI_3 = 2\,\text{A}, \quad I_2 = 6\,\text{A}, \quad I_1 = 8\,\text{A}

Every mesh current is positive, so all three loops circulate clockwise as assumed. The real current in R2R_2 is I1I2=2AI_1 - I_2 = 2\,\text{A} flowing in the direction of I1I_1. A quick sanity check: the source delivers  12V×8A=96W\;12\,\text{V} \times 8\,\text{A} = 96\,\text{W}, which must equal the total dissipated power; computing I12R1+(I1I2)2R2+I32R4I_1^2 R_1 + (I_1 - I_2)^2 R_2 + I_3^2 R_4 plus the current source's contribution balances the books.

Mesh by Inspection

Once you trust the symmetry rule, you can write the resistance matrix directly without traversing loops. Place the sum of each mesh's resistances on the diagonal and the negated shared resistances off-diagonal. This “by inspection” shortcut works only when every source is an independent voltage source and all mesh currents are defined clockwise; current sources and dependent sources still require explicit constraint rows. The symmetry of the resistance matrix is not a coincidence either — it is a direct consequence of reciprocity in any network built from bilateral elements, and noticing a broken symmetry where none should exist is one of the fastest ways to catch a sign error before you ever solve the system.

Recovering Branch Currents and Voltages

Solving for the mesh currents is rarely the end of the assignment; usually you want a specific branch current or element voltage. The rule is mechanical. A branch belonging to a single mesh carries that mesh's current outright. A branch shared by two meshes carries the algebraic difference of the two loop currents, taken in the direction you care about. Once the branch current is known, Ohm's law gives the element voltage, and power dissipation follows from P=I2RP = I^2 R. A useful habit is to compute total delivered power and total dissipated power separately: if they do not agree, a mesh equation is wrong. This energy-balance check is independent of the algebra that produced the currents, so it catches mistakes that a simple resubstitution would miss.

Dependent Sources in Mesh Analysis

Controlled sources appear constantly in amplifier models, and mesh analysis handles them with one extra discipline. Write the KVL equations exactly as before, treating the dependent source's value as a symbol. Then add one auxiliary equation that expresses the controlling quantity — a current or a voltage — in terms of the mesh currents. Substituting that relationship collapses the system back to the mesh-current unknowns alone. For a current-controlled voltage source whose control current is a branch current, the controlling current is itself a difference of mesh currents, so the substitution is straightforward and keeps the system square.

Choosing Mesh vs. Nodal

FeatureMesh analysisNodal analysis
UnknownsLoop currents (BN+1B - N + 1)Node voltages (N1N - 1)
Governing lawKVLKCL
Voltage sourcesEnter directlyRequire supernodes
Current sourcesRequire supermeshesEnter directly
Non-planar circuitsNot applicableAlways works

Common Mistakes

  1. Dropping the shared-branch difference. A resistor shared by two meshes carries IkIjI_k - I_j, not IkI_k alone. Forgetting the neighbor term is the most common mesh error.
  2. Sign-flipping voltage sources. A source traversed from minus to plus is a rise and enters the KVL sum negative. Reversing this corrupts the whole equation.
  3. Skipping the supermesh constraint. Merging two meshes gives only one KVL equation; you must add IjIk=IsI_j - I_k = I_s to recover the lost equation.
  4. Applying mesh analysis to a non-planar circuit. If the schematic cannot be drawn without crossing wires, meshes are undefined — switch to nodal or MNA.
  5. Misreading a negative answer. A negative mesh current is not an error; it means the loop actually circulates counterclockwise. The algebra self-corrects.

Related Tutorials

Related Tutorials

Fundamentals

Kirchhoff's Voltage Law (KVL): Complete Guide

Learn KVL from first principles: sign conventions, step-by-step mesh examples, common mistakes, and how CircuitMath automates loop equations.

Analysis Methods

Nodal Analysis Step by Step

A complete guide to nodal analysis: identify nodes, choose a ground, write KCL equations, handle voltage sources with supernodes, and solve.

Analysis Methods

Modified Nodal Analysis (MNA): The Algorithm Behind Circuit Solvers

Understand how MNA extends nodal analysis to handle voltage sources, learn the stamp approach, and see how CircuitMath builds the A*x = z system.

Back to All Tutorials