The ResistorArray package: electrical properties of resistor arrays

CRAN_Status_Badge


Overview

The ResistorArray package gives functionality for calculating electrical properties of resistor networks. Any array of resistors may be implemented and a number of special arrays are given as data. For example, a skeleton cube has 8 nodes and a conductance matrix for unit resistors along each edge is given by cube():

cube()
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]    3   -1    0   -1   -1    0    0    0
## [2,]   -1    3   -1    0    0   -1    0    0
## [3,]    0   -1    3   -1    0    0   -1    0
## [4,]   -1    0   -1    3    0    0    0   -1
## [5,]   -1    0    0    0    3   -1    0   -1
## [6,]    0   -1    0    0   -1    3   -1    0
## [7,]    0    0   -1    0    0   -1    3   -1
## [8,]    0    0    0   -1   -1    0   -1    3

A common puzzle is to calculate the resistance of such a cube between diagonally opposite corners, the answer being (the trick being to observe that nodes equidistant from the corners are at the same potential). This is easily reproduced in the package:

resistance(cube(),1,7)
## [1] 0.8333333

However, the trick does not work for general resistances but the package has no problem:

resistance(cube(1:12),1,7)
## [1] 4.766791

The package includes many other convenience functions; it is still under development.

Installation

To install the most recent stable version on CRAN, use install.packages() at the R prompt:

R> install.packages("ResistorArray")

To install the current development version use devtools:

R> devtools::install_github("RobinHankin/ResistorArray")

And then to load the package use library():

library("ResistorArray")

Reference

R. K. S. Hankin 2006. “Resistor networks in R: introducing the ResistorArray package”. R News, 6(2),52-54