-1
\$\begingroup\$

enter image description here

consider the blocks as resistance and the numbers as their respective resistance.count it's equivalent resistance across A and B.

I just want some hints.this is not my homework problem.I am just curious.I can solve the problem,when all the resistance are same.but in this circumstances, i am in a fix where to start.

\$\endgroup\$
4
  • 7
    \$\begingroup\$ Homework questions with no attempt at a solution are closed. \$\endgroup\$ Sep 23 '18 at 11:49
  • \$\begingroup\$ I just want some hints.this is not my homework problem.I am just curious.I can solve the problem,when all the resistance are same.but in this circumstances, i am in a fix where to start. \$\endgroup\$ Sep 23 '18 at 11:56
  • \$\begingroup\$ You could inject a current and work out the voltage difference. A simple computation would yield a result. You could replace "Y" with \$\Delta\$ and proceed along things lines, too. I find nodel analysis to be easy and consistent, though. \$\endgroup\$
    – jonk
    Sep 23 '18 at 13:13
  • \$\begingroup\$ would you please find me a starting?@jonk \$\endgroup\$ Sep 23 '18 at 13:20
4
\$\begingroup\$

If you have access to a good, fast symbolic solver you could just solve out the following set of equations derived from the image located just below them. These equations are simply those made through nodal analysis at each of the unknown vertices:

$$\begin{align*} \frac{V_2}{R_2}+\frac{V_2}{R_6}+\frac{V_2}{R_9}&=\frac{V_3}{R_2}+\frac{V_1}{R_6}+\frac{V_7}{R_9}\tag{$V_2$}\\\\ \frac{V_3}{R_1}+\frac{V_3}{R_2}+\frac{V_3}{R_7}&=\frac{0\:\text{V}}{R_1}+\frac{V_2}{R_2}+\frac{V_4}{R_7}\tag{$V_3$}\\\\ \frac{V_4}{R_7}+\frac{V_4}{R_8}+\frac{V_4}{R_{11}}&=\frac{V_3}{R_7}+\frac{V_1}{R_8}+\frac{V_5}{R_{11}}\tag{$V_4$}\\\\ \frac{V_5}{R_3}+\frac{V_5}{R_4}+\frac{V_5}{R_{11}}&=\frac{0\:\text{V}}{R_3}+\frac{V_6}{R_4}+\frac{V_4}{R_{11}}\tag{$V_5$}\\\\ \frac{V_6}{R_4}+\frac{V_6}{R_5}+\frac{V_6}{R_{10}}&=\frac{V_5}{R_4}+\frac{V_1}{R_5}+\frac{V_7}{R_{10}}\tag{$V_6$}\\\\ \frac{V_7}{R_9}+\frac{V_7}{R_{10}}+\frac{V_7}{R_{12}}&=\frac{V_2}{R_9}+\frac{V_6}{R_{10}}+\frac{0\:\text{V}}{R_{12}}\tag{$V_7$} \end{align*}$$

enter image description here

(Note that there is no need to add an equation for the node for \$V_1\$, since that is a known given and not an unknown.)

If you solve the above equations simultaneously, you will be able to set \$V_1=1\:\text{V}\$ and then solve out for all the other node voltages. From that, you can compute the effective resistance from:

$$R_\text{TOTAL}=\frac{1}{\frac{V_7}{R_{12}}+\frac{V_5}{R_3}+\frac{V_3}{R_1}}\tag{R}$$


On the other hand, you could solve this numerically, too. Just set up a 2x2x2 matrix and assign one corner (\$V_1\$) the value "1" and the diagonally opposite corner (\$GND\$) the value "0". Then assign all of the other nodes the value "0" to start.

Now, just process nodes \$V_2\$, \$V_4\$, and \$V_6\$ in phase A and process nodes \$V_3\$, \$V_5\$, and \$V_7\$ in phase B, in a continuous loop in software. (Do it \$N\$ times, where you decide how many is "good enough.") The computation for each node is simply the above listed equations, but solved for the node on the appropriate left side as shown. So, you'd solve the first equation for \$V_2\$ and that is what you would compute, each iteration. Similarly, for the other 5 nodes.

Note that neither the \$V_1\$ nor the \$GND\$ vertices are ever re-calculated in this loop process. So those two values stay permanently in place.

Here's an example in C, where I've set values such that \$R_1=1\:\Omega\$, \$R_2=2\:\Omega\$, etc. (The array element for r[0] isn't used in the code and the ground node is assigned to v[0] -- which is also not used in the code because it is assumed to be 0 when I wrote out the equations you see at the outset above.)

#include <stdio.h>
int main(int argc, char *argv[]) {
    double v[8];   /* v[0] not used */
    double r[13];  /* r[0] not used */
    v[1]= 1.0;
    for (int i= 2; i < 8; ++i) v[i]= 0.0;
    for (int i= 1; i < 13; ++i) r[i]= (double) i;
    for (int n= 0; n < 20; ++n) {
        v[2]= (r[2]*r[6]*v[7] + r[2]*r[9]*v[1] + r[6]*r[9]*v[3]) / (r[2]*r[6] + r[2]*r[9] + r[6]*r[9]);
        v[4]= (r[11]*r[7]*v[1] + r[11]*r[8]*v[3] + r[7]*r[8]*v[5]) / (r[11]*r[7] + r[11]*r[8] + r[7]*r[8]);
        v[6]= (r[10]*r[4]*v[1] + r[10]*r[5]*v[5] + r[4]*r[5]*v[7]) / (r[10]*r[4] + r[10]*r[5] + r[4]*r[5]);
        v[3]= r[1]*(r[2]*v[4] + r[7]*v[2]) / (r[1]*r[2] + r[1]*r[7] + r[2]*r[7]);
        v[5]= r[3]*(r[11]*v[6] + r[4]*v[4]) / (r[11]*r[3] + r[11]*r[4] + r[3]*r[4]);
        v[7]= r[12]*(r[10]*v[2] + r[9]*v[6]) / (r[10]*r[12] + r[10]*r[9] + r[12]*r[9]);
    }
    printf( "%lg\n", v[1]/(v[3]/r[1] + v[5]/r[3] + v[7]/r[12]) );
    return 0;
}

In the above code, you can feel free to change the initialization of v1 to something other than 1. It will still work fine because this is taken into account in the printf() equation near the end of the code.

Note also in the above code that the first three lines of calculations within the loop only compute values for the odd-numbered nodes using only even-numbered node voltages to do that; and that the next three lines of calculations within the loop only compute values for the even-numbered nodes using only odd-numbered node voltages to do that, too. This is not an accident. It's important.

However, you are free to number the nodes any way you choose, so it's not about even vs odd. Instead, it is about dividing up the nodes into two groups where the first group computes values for its nodes using only nodes from the second group, and where the second group computes values for its nodes using only nodes from the first group. That's the important motivation here and if you fail to keep track of this rule, then the process will not work properly. This is sometimes called a checkerboard calculation, or white/black, or red/black, in order to emphasize how these nodes are grouped and alternate the computation using "adjacent nodes."

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.