Description Usage Arguments Value Note Author(s) See Also Examples
Given a conductance matrix, a vector of potentials at each node, and a
vector of current inputs at each node (NA
being interpreted as
“unknown”), this function determines the potentials at each
node, and the currents along each edge, of the whole circuit.
1 |
L |
Conductance matrix |
v |
Vector of potentials; one element per node. Elements
with |
currents |
Vector of currents fed into each node. The only
elements of this vector that are used are those that correspond to a
node with free potential (use Observe that feeding zero current into a node at free potential is perfectly acceptable (and the usual case) |
use.inverse |
Boolean, with default The default option should be faster most of the time, but YMMV |
give.internal |
Boolean, with |
Depending on the value of Boolean argument give.internal
,
return a list of either 2 or 4 elements:
potentials |
A vector of potentials. Note that the potentials of the
nodes whose potential was specified by input argument |
currents |
Vector of currents required to maintain the system
with the potentials specified by input argument |
internal.currents |
Matrix showing current flow from node to
node. Element |
power |
The power dissipated at each edge |
total.power |
Total power dissipated over the resistor network |
The SI unit of potential is the “Volt”; the SI unit of current is the “Ampere”
Robin K. S. Hankin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #reproduce first example on ?cube:
v <- c(0,rep(NA,5),1,NA)
circuit(cube(),v)
circuit(cube(),v+1000)
# problem: The nodes of a skeleton cube are at potentials
# 1,2,3,... volts. What current is needed to maintain this? Ans:
circuit(cube(),1:8)
#sanity check: maintain one node at 101 volts:
circuit(cube(),c(rep(NA,7),101))
#now, nodes 1-4 have potential 1,2,3,4 volts. Nodes 5-8 each have one
#Amp shoved in them. What is the potential of nodes 5-8, and what
#current is needed to maintain nodes 1-4 at their potential?
# Answer:
v <- c(1:4,rep(NA,4))
currents <- c(rep(NA,4),rep(1,4))
circuit(cube(),v,currents)
# Now back to the resistance of a skeleton cube across its sqrt(3)
# diagonal. To do this, we hold node 1 at 0 Volts, node 7 at 1 Volt,
# and leave the rest floating (see argument v below); we
# seek the current at nodes 1 and 7
# and insist that the current flux into the other nodes is zero
# (see argument currents below):
circuit(L=cube(),v=c(0,NA,NA,NA,NA,NA,1,NA),currents=c(NA,0,0,0,0,0,NA,0))
# Thus the current is 1.2 ohms and the resistance (from V=IR)
# is just 1/1.2 = 5/6 ohms, as required.
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.