Mesh-current method

A DC network with several sources and many resistors can look intimidating until you realise every planar circuit is really just a set of overlapping "window panes." The mesh-current method exploits this: instead of tracking every branch current separately, you assign one fictitious circulating current to each independent loop (mesh) and write a single KVL equation per mesh. Solve those simultaneous equations and every real branch current falls out as a simple combination of mesh currents. It is the KVL-based twin of the node-voltage method (which is built on KCL), and together the two form the standard toolkit for EE11001's DC-networks unit. This article expands the Pass-1 treatment with a fuller derivation, a completed worked example, and exam-style practice — the underlying physics and every number are unchanged.

The core insight

Assign one circulating mesh current per independent loop, write KVL around each mesh treating shared-branch drops as the difference of the two adjacent mesh currents, solve the simultaneous equations, then recover any branch current by combining the relevant mesh currents.

The core idea

What a mesh is. A mesh is an independent loop in a planar circuit that encloses no other loop — a single "window pane." For a planar network with bb branches and nn nodes, the number of independent meshes is

m=b−n+1m = b - n + 1

where: bb is the total number of branches, nn is the total number of nodes, and mm is the number of independent mesh equations needed. Each mesh gets its own mesh current I1,I2,…,ImI_1, I_2, \dots, I_m, all assumed to circulate in the same sense (clockwise, by convention) as a bookkeeping current that flows around that loop only — it is not, by itself, the current in any one branch.

Writing the mesh equations. Traverse each mesh in the direction of its own mesh current and apply KVL, summing EMF rises and resistor drops to zero. A resistor that is shared between two adjacent meshes carries the net current, the algebraic difference of the two mesh currents through it, because the two circulating currents flow through a shared branch in opposite physical senses. For a two-mesh circuit with a shared resistor R12R_{12} between meshes 1 and 2, the pair of equations takes the general form

E1=I1(R1+R12)−I2R12,−E2=I2(R2+R12)−I1R12E_1 = I_1(R_1+R_{12}) - I_2R_{12}, \qquad -E_2 = I_2(R_2+R_{12}) - I_1R_{12}

where: E1,E2E_1, E_2 are the net EMFs driving each mesh (sign set by source polarity and traversal direction), R1,R2R_1, R_2 are resistances exclusive to mesh 1 and mesh 2, and R12R_{12} is the shared resistance. The pattern generalises directly to three or more meshes: each mesh's own equation has a positive "self" resistance term (sum of all resistances in that mesh) and a negative "mutual" term for every adjacent mesh it shares a branch with.

Figure
Two adjoining rectangular loops sharing a middle resistor, mesh current I1 circulating clockwise in the left loop and mesh current I2 circulating clockwise in the right loop, with the shared branch carrying the difference of the two currents
Two adjoining meshes sharing one branch R12 E1 E2 I1 I2 Current in the shared branch equals I1 minus I2

Common formula derivation

Derivation ADeriving the two-mesh KVL equations

The goal is to derive, from KVL alone, the pair of simultaneous linear equations that the mesh-current method produces for a two-mesh planar circuit — one equation per mesh, each containing a positive self-resistance term for that mesh and a negative mutual term for the resistor shared with the adjacent mesh — so that the same pattern can be extended by inspection to three or more meshes without re-deriving it from scratch every time.

Step 1. Set up the two loops. Let mesh 1 contain an EMF E1E_1 and an exclusive resistor R1R_1, and mesh 2 contain an EMF E2E_2 and an exclusive resistor R2R_2; the two meshes share a resistor R12R_{12} on their common branch. Assign mesh currents I1I_1 and I2I_2, both clockwise.

Step 2. Identify the current through the shared branch. Since I1I_1 and I2I_2 circulate in the same overall sense (clockwise) but flow through the shared branch in opposite physical directions, the net current through R12R_{12} as seen from mesh 1's traversal is (I1−I2)(I_1 - I_2).

Step 3. Apply KVL around mesh 1, traversing clockwise: the source contributes a rise of E1E_1, the exclusive resistor drops I1R1I_1R_1, and the shared resistor drops (I1−I2)R12(I_1-I_2)R_{12}. Setting rises equal to drops and collecting terms in I1I_1 and I2I_2 gives E1=I1R1+(I1−I2)R12=I1(R1+R12)−I2R12E_1 = I_1R_1 + (I_1-I_2)R_{12} = I_1(R_1+R_{12}) - I_2R_{12}.

Step 4. Apply KVL around mesh 2 by the identical logic, traversing clockwise: the shared resistor now carries (I2−I1)(I_2-I_1) from mesh 2's perspective, giving −E2=I2(R2+R12)−I1R12-E_2 = I_2(R_2+R_{12}) - I_1R_{12} (the sign on E2E_2 depends on that source's polarity relative to the clockwise traversal). The two boxed equations are exactly the general form quoted above, and the coefficient matrix's structure — positive self-resistance on the diagonal, negative mutual resistance off it — is what lets you write down the equations for any planar network directly from a circuit sketch, mesh by mesh, without repeating this derivation.

Worked example

A two-mesh circuit has a 20 V source in mesh 1 in series with a 2 Ω2\,\Omega resistor, a shared resistor of 3 Ω3\,\Omega between mesh 1 and mesh 2, and mesh 2 has a 5 Ω5\,\Omega resistor with no independent source of its own. Both mesh currents are assumed clockwise. Find I1I_1, I2I_2, the current through the shared resistor, and the current through the 5 Ω5\,\Omega resistor.

Step 1. Write the mesh 1 KVL equation. The 2 Ω2\,\Omega resistor carries only I1I_1; the shared 3 Ω3\,\Omega resistor carries (I1−I2)(I_1-I_2):

20=2I1+3(I1−I2)=5I1−3I2...(i)20 = 2I_1 + 3(I_1-I_2) = 5I_1 - 3I_2 \quad \text{...(i)}

Step 2. Write the mesh 2 KVL equation. There is no independent source in mesh 2, so the sum of drops equals zero; the 5 Ω5\,\Omega resistor carries only I2I_2, and the shared 3 Ω3\,\Omega resistor carries (I2−I1)(I_2-I_1):

0=5I2+3(I2−I1)=−3I1+8I2...(ii)0 = 5I_2 + 3(I_2-I_1) = -3I_1 + 8I_2 \quad \text{...(ii)}

Step 3. Solve the pair. From (ii), I2=3I18I_2 = \dfrac{3I_1}{8}. Substituting into (i): 20=5I1−9I18=31I1820 = 5I_1 - \dfrac{9I_1}{8} = \dfrac{31I_1}{8}, so I1=16031≈5.16 AI_1 = \dfrac{160}{31} \approx 5.16\ \text{A}, and then I2=38(5.16)≈1.94 AI_2 = \dfrac{3}{8}(5.16) \approx 1.94\ \text{A}.

Step 4. Recover the two branch currents. The shared 3 Ω3\,\Omega resistor carries I1−I2≈5.16−1.94=3.22 AI_1 - I_2 \approx 5.16 - 1.94 = 3.22\ \text{A}, flowing in mesh 1's circulating sense. The 5 Ω5\,\Omega resistor belongs only to mesh 2, so it simply carries I2≈1.94 AI_2 \approx 1.94\ \text{A}. Final answer: I1≈5.16 AI_1 \approx 5.16\ \text{A}, I2≈1.94 AI_2 \approx 1.94\ \text{A}, shared-branch current ≈3.22 A\approx 3.22\ \text{A}, and the 5 Ω5\,\Omega resistor carries ≈1.94 A\approx 1.94\ \text{A}.

Competitive stretch

A single-mesh circuit with a 15 V source and two series resistors R1=3 ΩR_1=3\,\Omega, R2=2 ΩR_2=2\,\Omega has only one mesh current II, so KVL gives 15=3I+2I=5I15 = 3I+2I=5I, hence I=3 AI=3\ \text{A} — identical to the plain series-circuit result I=V/R=15/5=3 AI=V/R=15/5=3\ \text{A}. This confirms that for a single mesh, the mesh-current method reduces exactly to ordinary series-loop KVL, a quick sanity check worth remembering before tackling a genuine multi-mesh problem.

Common traps

  • Dropping the sign of the shared-branch term: always write it consistently as (this mesh's current minus the adjacent mesh's current) in every mesh equation, never mixed.
  • Applying the method to a non-planar circuit — window-pane meshes only exist for planar networks; general tie-set methods are out of scope for this course.
  • Confusing "mesh current" (a circulating bookkeeping quantity) with "branch current" (the real physical current), which is recovered only after combining the relevant mesh currents.
  • Switching circulating direction mesh to mesh (some clockwise, some anticlockwise) — sticking to one convention for every mesh avoids almost all sign errors.

Ask the tutor: if you want to work through a three-mesh circuit or double-check a sign convention on a shared branch, ask the AI tutor about this topic.

Why does the shared resistor use a minus sign between the two mesh currents instead of a plus sign?

Because both mesh currents are assumed to circulate in the same overall sense (say, clockwise), they flow through a shared branch in opposite physical directions — one current enters from the top, the other effectively enters from the bottom of that branch. The net physical current is therefore their difference, not their sum. If you instead assumed the two mesh currents circulated in opposite senses (one clockwise, one anticlockwise), the shared-branch term would need a plus sign, which is exactly why sticking to one consistent convention (all clockwise) is strongly recommended — it keeps every equation's sign pattern identical.

How is the number of independent meshes decided for a bigger circuit?

Use m=b−n+1m = b - n + 1, where bb is the number of branches and nn is the number of nodes in the planar circuit. Practically, it is often easier to just count the "window panes" directly by inspection — every enclosed area with no branch cutting through its interior is one independent mesh. Both approaches must agree; the formula is the safety check when the circuit is too tangled to count panes confidently by eye.

What happens if a mesh has no source of its own, like mesh 2 in the worked example?

Nothing special — you still write a full KVL equation for it, just with the sum of EMFs on the left set to zero, since there is no source contributing a rise. The equation still has both mesh currents in it because the shared resistor couples mesh 2 to mesh 1, so mesh 2's current is not zero; it is driven indirectly through that coupling, exactly as I2≈1.94 AI_2 \approx 1.94\ \text{A} turned out to be nonzero in the worked example even though mesh 2 has no source.

Before this

Where this leads