Wed Feb 17 19:35:44 EST 2016


I wonder, is KVL actually necessary?  By assigning a voltage to every
node, there is no way to make that not work.

So it seems spice uses KCL, and not KVL.  The reason?  Likely because
it is easy to build equations from nodes (that information is right
there in the netlist, as opposed to having to analyze the graph to
find loops).  At least that is what is inferred here [1].

A consequence of that is that it is not possible to have isolated
voltage sources: they always need to be translated to current source +
series resistor.

Leads to the question: is it possible to partially invert this?
E.g. use a graph transformation to partially dualize?  ( I went here before... )

G v = i

Where v are the node voltages, and i are the node currents injected
into each node.

It seems that this is just a re-organization of the equations:

  [ G -I ] [ v i ]^T = 0


  [ A B ]  [x c]^T = 0  or  Ax + Bc = 0

Where x denotes the unknowns and c denotes the known current/voltage

So essentially a simple problem.

[1] http://electronics.stackexchange.com/questions/19198/kcl-vs-kvl-in-circuit-analysis
[2] http://ltwiki.org/?title=Pure_Inductor_and_Voltage_Source_Modelling_%28and_how_to_speed_up_simulations_with_them%29_using_LTspice