Apply Kirchoff's rules with a non-ohmic resistor?

  1. I'm trying to work out the correct algorithm for using Kirchoff's rules when using a non-ohmic resistor like a light bulb. The problem is that the resistance depends on the voltage, but the voltage may depend on the resistance (a simple example: a bulb and a resistor in series: how should the voltage be divided?)

    I'm sure there must be an algorithm for this, but at the moment all I can think of is to use some kind of relaxation method like simulated annealing to home in on the correct answer.

  2. jcsd
  3. Just following up on this, two further questions (slightly edited, because rereading it I realised I wasn't clear):

    1) Does anyone have a link to some actual data on the resistance variation in an incandescent bulb? (and indeed in a diode, which I'm also going to have to do) I can't find it anywhere - just vague lines and handwaving.

    2) Given that resistance of a bulb, and therefore power, is variable, is there a reasonably simple relationship between that stated power and voltage of a bulb and the resistance variation? My guess is that a lower wattage bulb gets less hot and therefore its resistance is less variable, but I'm working a bit blind here.

    None of this has to be perfect, but it does need to match up to the picture that kids are taught in school.

  4. If you can measure the current through the series connection of the resistor and bulb, you can determine the voltage across the bulb with ohm's law and Kirchoff's current law. Can't help you with the voltage/current relationship for the bulb though :/
  5. Kirchoff's laws are unchanged. The only impact is that the system of equations that you get will be non-linear if your circuit elements are non-linear. Depending on the exact nature of the non-linearity it may still have an analytical solution. Otherwise you may need a numerical solver, but simulated annealing is more for finding global optima than roots.
  6. A root *is* an optimum, isn't it? (it just depends on your utility function). But yes, any kind of numerical solver will do the job. The reason I'm thinking of using some kind of iterative method is that I suspect it's pretty close to reality: the voltage is applied, it creates a current, the current makes the filament hot and increases the resistance, this decreases the current, and so on until equilibrium is reached. But I'm nervous because of course in an arbitrary circuit this could get a bit nasty. And it's all academic until I can get a decent power/current/resistance relationship for these damn bulbs
  7. Not really. A root is a zero crossing while an optimum is a minimum or a maximum. For smooth functions an optimum is a zero crossing of the derivative. The search algorithms are also different since (for smooth functions in 1D) it only takes 2 points to bracket a root but it takes 3 points to bracket an optimum.
  8. I know this is all pedantry anyway, but I guess my point was that for functions that trawl through search space (eg genetic algorithms or simulated annealing) what counts as an 'optimum' depends on what you ask it to look for. If I want it to find a root, I just ask it to minimise abs(f(x)). This turns a root into a minimum, which allows the algorithm to home in on it. Obviously there are other ways to find a root (Newton-Raphson, bracketing etc) but my point was just that it's perfectly possible to adapt an optimiser algorithm to find roots.
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?