>
section 4 of 123 min read

4. Nodal Analysis: Systematic KCL

The dual of mesh analysis. Pick nodes, write KCL at each, solve.

4.1 The procedure

  1. Identify all the nodes in the circuit. Pick one as the reference node (ground, voltage = 0).
  2. Assign a node voltage variable to each remaining node (VaV_a, VbV_b, ...).
  3. Write KCL at each node, expressing branch currents in terms of node voltages and component values.
  4. You have n1n - 1 equations in n1n - 1 unknowns. Solve.
  5. Recover branch currents from node voltages using Ohm's law.

4.2 Worked example: three-node circuit

Consider this circuit:

plaintext
       Va     Vb
        ●─[R1]─●─[R2]─ GND
        │       │
        │      [R3]
       (Vs)     │
        │       GND
       GND

Let Vs=10V_s = 10 V, R1=1R_1 = 1 kΩ, R2=R3=2R_2 = R_3 = 2 kΩ. Assume VsV_s acts at node VaV_a, say there is an ideal voltage source from GND to VaV_a that fixes Va=10V_a = 10 V.

KCL at node VbV_b: currents flowing out of VbV_b sum to zero. Through R1R_1 to VaV_a: (VbVa)/R1(V_b - V_a)/R_1. Through R2R_2 to ground: Vb/R2V_b/R_2. Through R3R_3 to ground: Vb/R3V_b/R_3. Sum = 0:

VbVaR1+VbR2+VbR3=0\frac{V_b - V_a}{R_1} + \frac{V_b}{R_2} + \frac{V_b}{R_3} = 0

Vb101000+Vb2000+Vb2000=0\frac{V_b - 10}{1000} + \frac{V_b}{2000} + \frac{V_b}{2000} = 0

Multiply by 2000:

2(Vb10)+Vb+Vb=0    4Vb=20    Vb=5 V2(V_b - 10) + V_b + V_b = 0 \implies 4V_b = 20 \implies V_b = 5 \text{ V}

That is the node voltage. From here, every branch current follows by Ohm's law: IR1=(105)/1000=5I_{R_1} = (10-5)/1000 = 5 mA, etc.

4.3 Why nodal scales better than mesh

In a circuit with nn nodes and bb branches, mesh requires bn+1b - n + 1 equations; nodal requires n1n - 1. For typical electronics circuits (bb much larger than nn), nodal has fewer equations. Plus, nodal generalizes naturally to non-planar circuits and to circuits with op-amps (where node voltages are the natural variables).

Modern circuit simulators (SPICE and its derivatives) all use modified nodal analysis (MNA), a refinement that handles voltage sources elegantly. When you press "simulate" in any EDA tool, MNA is what runs under the hood. Solve a few thousand simultaneous equations representing every node in your schematic, and out pops the answer. The matrix is sparse (most entries are zero, because most pairs of nodes share no component) and SPICE exploits sparsity to handle million-node netlists in real time.

4.4 Supernodes

When an ideal voltage source connects two non-ground nodes, neither node's voltage is independent (they are forced to differ by the source voltage). The trick: treat both nodes as a single "supernode" for KCL purposes, then add the constraint equation VaVb=VsrcV_a - V_b = V_{src} to fix the relationship.

For example, if a 5 V source connects node VaV_a to node VbV_b (with + on VaV_a), and the rest of the circuit has a few resistors hanging off both nodes, write KCL summing all currents leaving the combined supernode (i.e., ignoring the source between the two), then add VaVb=5V_a - V_b = 5 as a separate equation. The system has the same number of unknowns and equations as before; you have just shuffled where the constraint lives.