ResistorArray (version 1.0-32)

resistance: Resistance for arbitrarily connected networks of resistors

Description

Given a resistance matrix, return the resistance between two specified nodes.

Usage

resistance(A, earth.node, input.node, current.input.vector=NULL, give.pots = FALSE)

Arguments

A

Resistance matrix

earth.node

Number of node that is earthed

input.node

Number of node at which current is put in: a nominal 1 Amp

current.input.vector

Vector of currents that are fed into each node. If supplied, overrides the value of input.node, and effectively sets give.pots to TRUE because if various currents are fed into the network at various points, the concept of “resistance” becomes meaningless.

Setting this argument to c(0,...,0,1,0,..0) (where the “1” is element jj) is equivalent to not setting current.input.vector and setting input.node to jj.

give.pots

Boolean, with TRUE meaning to return the potential of each node (out.node being at zero potential); and default FALSE meaning to return just the resistance between in.node and out.node.

Details

The function's connection to resistor physics is quite opaque. It is effectively a matrix version of Kirchoff's law, that the (algebraic) sum of currents into a node is zero.

References

  • B. Bollob\'as, 1998. Modern Graph Theory. Springer.

  • F. Y. Wu, 2004. “Theory of resistor networks: the two point resistance”, Journal of Physics A, volume 37, pp6653-6673

  • G. Venezian 1994. “On the resistance between two points on a grid”, American Journal of Physics, volume 62, number 11, pp1000-1004.

  • J. Cserti 2000. “Application of the lattice Green's function for calculating the resistance of an infinte network of resistors”, American Journal of Physics, volume 68, number 10, p896-906

  • D. Atkinson and F. J. van Steenwijk 1999. “Infinite resistive lattices”, American Journal of Physics, volume 67, number 6, pp486-492

See Also

array.resistance

Examples

Run this code
# NOT RUN {
  resistance(cube(),earth.node=1, input.node=7) #known to be 5/6 ohm
  resistance(cube(),1,7, give=TRUE)
# }

Run the code above in your browser using DataLab