Using kirchhoff's voltage law with current sources

This is a follow up question of this question. Summarized: The question is solved there good, however I wish to solve the problem the using Kirchhoff laws.

Kirchhoff's voltage/mesh law is nice as it gives a good method to solve passive networks. It just boils down to defining a (linearly independent) meshes, and solving the equations that come from these meshes; probably using some easy matrix algebra.

However I wonder how to handle this in the following schematic

simulate this circuit – Schematic created using CircuitLab

There can be three meshes easily "identified" (of course there are many more just take the obvious ones), and for the calculations let's name the loop currents $I_a, I_b, I_c$ from left to right, and let's assume all loop currents are counter clockwise. (Can't seem to draw those in the schematic..).

Now the to calculate the loops starting with the 8V voltage source: $$8 - I_aR_1 - 3 + (I_a- I_b)\cdot X = 0$$ $$(I_a- I_b)\cdot X - (I_b - I_c) \cdot R_2 = 0$$ $$-(I_c - I_b) \cdot R_2 - I_c \cdot Y = 0$$

However as you can see I putted "X" and "Y" for the current sources - as I can't really see what a current source does with the voltage in a mesh. At first I would simply remove them from the equations (Ideal current source doesn't provide / remove voltage right?). And then add some extra equations: $$I_a -I_b = 3 A$$ $$I_c = 1.25A$$

But can anyone do this? How to add current sources in the equations? Similar question: how would one add other passive components like inductors/capacitors (diodes?) to kirchhoff's laws? Or can I no longer use this law then?

• With four independent sources in your circuit (although the two voltage sources can be trivially reduced to one), KVL by itself is not an adequate tool for the job. You also need to apply the superposition principle. Jan 18, 2014 at 15:23

1 Answer

Recall that, for node voltage analysis, a floating voltage source (a voltage source that does not connect to the GND node) poses a problem since you cannot write an equation relating the current through to the voltage across.

What you must do then is enclose the floating voltage source in a supernode, which reduces the number of KCL equations by one, and add the equation relating the voltage difference between the nodes the voltage source is connected to.

Now, the dual of node voltage analysis is mesh current analysis and here we have the dual problem when we have a current source common to two meshes - we can't write an equation relating the current through to the voltage across a current source.

What must be done then is to form a supermesh which reduces the number of KVL equations by one and add the equation relating the difference of the mesh currents to the common current source.

So, write KVL counter-clockwise around the supermesh consisting of the two voltage sources and the two resistors

$$V_1 = I_aR_1 + V_2 + (I_b - I_c)R_2$$

You have, by inspection (no KVL required for this mesh - this is dual to no KCL required for the node connected to a non-floating voltage source)

$$I_c = -1.25A$$

You need one more equation which is the equation relating to difference of the two mesh currents with the common current source.

$$3A = I_a - I_b$$

Now, you have 3 independent equations and 3 unknowns.

• So from your answer I take it that I when doing mesh analysis you have to make sure no current sources are in the meshes you analyze? BTW: isn't mesh analysis the KVL, as it comes from the fact that in a stable situation the voltage difference over a full circle in the circuit is "0". Jan 18, 2014 at 16:13
• @paul23, a current source within a single mesh is no problem and, in fact, gives you the mesh current directly (no KVL required) as in the case of mesh c above. However, when a current source is common to two meshes, as is the case for I1, you must write the KVL equation around a 'supermesh' that encloses the common current source. And yes, as I wrote in my answer, for mesh analysis, one uses KVL whilst for node analysis, one uses KCL. Jan 18, 2014 at 16:50