# Electrical circuit Source transformation Question

I'm extreeeeamly rusty at basic circuit theory.
I want to transform a sort of infinite arrangement of this circuit: The values themselves aren't important, just the representation of what's happening, all the verticle resistors are the same value as eachother, and all the horizontal resistors are the same value as eachother.
I just made up 1 and 3 ohms as a random example. You could say that all the current soruces are 1 A if you like.
I'd like to figure out how to transform all the current sources into voltage sources using source transformation:
https://en.wikipedia.org/wiki/Source_transformation

But my issue is that since each current source has multiple resistors in parallel with it, how can you do this?

Thanks a lot!!!

Related Electrical Engineering News on Phys.org
Hesch
Gold Member
I want to transform a sort of infinite arrangement of this circuit:
I suggest that you at first make a Thevenin/Norton equivalent of a "repeated group" in the circuit. Then connect these equivalents in series/parallel.

I suggest that you at first make a Thevenin/Norton equivalent of a "repeated group" in the circuit. Then connect these equivalents in series/parallel.
I looked up Thevenin/Norton, repeated group equivalent circuits, but I can't find anything for 'repeated groups'. Did you have a link to a site or a text book or anything? Sounds like that's what I need to do, so you don't think there's a way to do it for a single component with two parallel resistors because you can't isolate them? (you need to do it as a group?) The reason I ask is, say that it wasn't like an infite pattern, but for instance if it ended with shorts or a resistive branch on either side of the diagram. OR if both the ends looped back and were connected together with a resistive branch goind down between them (then I imagine the group thing wouldn't apply?).

Hesch
Gold Member
I looked up Thevenin/Norton, repeated group equivalent circuits, but I can't find anything for 'repeated groups'.
Having a quick look at your circuit, I assumed it were build by repeated groups. For example from left to right the current sources point east, north, west, south and then repeated this "pattern", so that a "group" included 4 current sources. But by closer look I see it's not repeated, because it continues: east, west, . . . . .

Anyway I hope you understand what I mean as for the direction of current sources: If there are no repeated groups, it will be very difficult to predict how the network will continue to the right towards infinity. If the decimals of the constant π were repeating themselves in "groups", say
π = 3.1415926514159265........ it would be easy to "calculate" π with a million decimals.

Last edited:
Anyway I hope you understand what I mean as for the direction of current sources: If there are no repeated groups, it will be very difficult to predict how the network will continue to the right towards infinity.
I'm not sure what you mean by that statement.

I actually realised I made a mistake myself, I just fixed it in (the following picture) and an example of one of the hypertheticals of what I meant (is also in that picture): So is there any way to convert the current sources to voltage sources?

Thanks alot.

Hesch
Gold Member
I actually realised I made a mistake myself, I just fixed it in (the following picture) and an example of one of the hypertheticals of what I meant (is also in that picture):
Well, now you have fixed the mistake (B7), but you have also made a closed loop. You have to decide: Closed loop or infinite straight network?

You will never divide the last circuit into "groups", now there is only one group.
any way to convert the current sources to voltage sources?
No, you cannot convert a current source into a voltage source, but you can convert a Norton equivalent into a Thevenin equivalent.

Example: ( IN = 4A, RN = 5Ω ) → ( VT = 20V, RT = 5Ω )

What do you want to find? Voltages, currents?

Well, now you have fixed the mistake (B7), but you have also made a closed loop. You have to decide: Closed loop or infinite straight network?
Well closed loop than. But How would a straight network be different?
You will never divide the last circuit into "groups", now there is only one group.

No, you cannot convert a current source into a voltage source, but you can convert a Norton equivalent into a Thevenin equivalent.

Example: ( IN = 4A, RN = 5Ω ) → ( VT = 20V, RT = 5Ω )

What do you want to find? Voltages, currents?
Yeah exactly, I was still referring to the transformation of before, like here:

I'm after voltages.

Hesch
Gold Member
I'm after voltages.
There is some symmetry in the circuit, due to all vertical resistors are the same, etc.

But generally you could use Kirchhoffs current law (KCL).
If you look at a part of the circuit: ( R3 . . R8, B2 ), there are 6 nodes. Naming these as V1, V2 . . V6, starting clockwise at the lower left corner, and saying that V6 = 0V ( reference ), you could make 5 equations, thereby finding 5 remaining voltages. Here is an example as for V2:

( V1-V2 ) / R4 + ( V3 - V2 )/R3 + IB2 = 0

In this way you can find all the voltages in this isolated part of the circuit.

To find all the voltages in the circuit as a whole, you will have to make 11 equations. Note that any values for the resistors and source-currents may be used.
So name all the 12 nodes, set one of the nodes = 0V, make 11 equations and solve them.

I suggest you make the first 3 equations, then post them and I ( or others ) will have a look at them.

There is some symmetry in the circuit, due to all vertical resistors are the same, etc.

But generally you could use Kirchhoffs current law (KCL).
If you look at a part of the circuit: ( R3 . . R8, B2 ), there are 6 nodes. Naming these as V1, V2 . . V6, starting clockwise at the lower left corner, and saying that V6 = 0V ( reference ), you could make 5 equations, thereby finding 5 remaining voltages. Here is an example as for V2:

( V1-V2 ) / R4 + ( V3 - V2 )/R3 + IB2 = 0

In this way you can find all the voltages in this isolated part of the circuit.

To find all the voltages in the circuit as a whole you will have to make 11 equations. Note that any values for the resistors and source-currents may be used.
So name all the 12 nodes, set one of the nodes = 0V, make 11 equations and solve them.

I suggest you make the first 3 equations, then post them and I ( or others ) will have a look at them.
Thanks for the advice, so if I give that a crack will I have just the voltages or will they be a function of current? Because that won't really suit my purpose, which is to figure out what the circuit will transform to when the current sources become equivalent voltage sources.

Thanks again

Hesch
Gold Member
By solving the 11 equations, you will find 11 voltages, but when knowing all of these, you can easy calculate the currents by means of ohms law: I = ΔV / R

EDIT: To find some equivalent for the circuit, you must define some "output". You can load this output by some current source say 1A, including this in your equations and solve them again. The voltage of the output will then change an amount of ΔV. Output impedance = ΔV / 1A.

Last edited:
By solving the 11 equations, you will find 11 voltages, but when knowing all of these, you can easy calculate the currents by means of ohms law:

I = ΔV / R
Hi and thanks,
but that's not quite what I mean, I kind of don't want to know the current. So say I followed your advice and generated some equations using KCL to got 6 vertical voltages and 6 horizontal voltages, could I then just substitute those voltages in as voltage sources in place of the current sources?

Hesch
Gold Member
Read the "EDIT" in #10. That's how you can calculate an equivalent.

By solving the 11 equations, you will find 11 voltages, but when knowing all of these, you can easy calculate the currents by means of ohms law: I = ΔV / R

EDIT: To find some equivalent for the circuit, you must define some "output". You can load this output by some current source say 1A, including this in your equations and solve them again. The voltage of the output will then change an amount of ΔV. Output impedance = ΔV / 1A.
Why was I making one node equal to 0V again? (why 11 equs not 12?)

Gee, that's going to be hard, I didn't quite realise the whole 'output' thing, yeah, ok, I vaguely remember the 'load with an arbitrary 1A' thing, I had no idea what you were talking about at first, lol. But all I can really think to do is take a source across two nodes and call that the whole circuit connected to that the output. I can't really get my head around this change. All I really remember doing is when you have some circuit with a source of current with one resistor parallel to that and say that the rest of the circuit is the output (or a voltage source with one resistor in series) but here there isn't a single entity in parallel I can isolate with a current source to take the rest of the circuit as output.
Do you have any idea what would actually be an output?

Hesch
Gold Member
Why was I making one node equal to 0V again? (why 11 equs not 12?)
If you have some battery with an emk = 4.5V, and I asked you: What is the voltage of the anode? You could answer: It's 4.5V.

I could tell you: No, it's not, because I've connected the cathode to 115Vac, thus the voltage of the anode will be:

√2*115V*sin(ωt) + 4.5V

You have to know about some reference voltage, and you are completely free to choose a such. So if you have 12 unknown voltages, and define one of these as a reference, there is only 11 unknown voltages left. Thus only 11 equations are needed.
But all I can really think to do is take a source across two nodes and call that the whole circuit connected to that the output.
No, you must regard the two nodes to be the output, and regard the current source to be the load.

A thevenin/norton equivalent has two terminals, which I call the output ( not the input ).

If you have some battery with an emk = 4.5V, and I asked you: What is the voltage of the anode? You could answer: It's 4.5V.

I could tell you: No, it's not, because I've connected the cathode to 115Vac, thus the voltage of the anode will be:

√2*115V*sin(ωt) + 4.5V

You have to know about some reference voltage, and you are completely free to choose a such. So if you have 12 unknown voltages, and define one of these as a reference, there is only 11 unknown voltages left. Thus only 11 equations are needed.
AAh, yeah ok, it's a ground I get ya. I'm starting to remember NR and Gauss-seidal, like having the slack bus. We need the ground reference, ofcourse.

No, you must regard the two nodes to be the output, and regard the current source to be the load.
Hmm, if the two nodes across the current source is the load, don't you usually rearrange accroding to ohms law the remaining sourse (which in this case is the whole rest of the circuit)? Is this your way of telling me that I can't rearrange it, I can only do it via equations?

Hesch
Gold Member
Is this your way of telling me that I can't rearrange it, I can only do it via equations?
Of course you can rearrange it, give it a try and do a lot of calculations. When you end up with a result, how will you check that there are no errors in your calculations?

Having not rearranged the circuit, you can check everything by means of ohms law ( resistors, currents, voltages ).

Having made the 11 equations, you will just have to add a "+" or "-" Iload to ( at most ) two of the nodes. Then recalculate. ( Your computer will do it within a second. )

Last edited:
To find all the voltages in the circuit as a whole, you will have to make 11 equations. Note that any values for the resistors and source-currents may be used.
So name all the 12 nodes, set one of the nodes = 0V, make 11 equations and solve them.
Alright, I just got a free moment after moving house.
These are very slapped-up so tell me if they're completely wrong. (I just did all the current loops anti-clockwise so I might have got the conventions wrong) But. How's this for a start:
B5/2*(R1 + R15 + R19) - B1/2*R1 - B7/2*R19 = 0
B5/2*(R2 + R16 + R20) - B1/2*R2 - B7/2*R20 = 0
B1/2*(R1 + R2) - B5/2*R1 - B5/2*R2 = 0
B1/2*(R3 + R4) - B2/2*R3 - B2/2*R4 = 0
B2/2*(R3 + R8 + R5) - B1/2*R3 - B4/2*R5 = 0
B2/2*(R4 + R7 + R6) - B1/2*R4 - B4/2*R6 = 0
B4/2*(R5 + R6) - B2/2*R5 - B2/2*R6 = 0
B4/2*(R9 + R10) - B3/2*R9 - B3/2*R10 = 0
B3/2*(R9 + R12 + R13) - B4/2*R9 - B7/2*R13 = 0
B3/2*(R10 + R11 + R14) - B4/2*R10 - B7/2*R14 = 0
B7/2*(R13 + R14) - B3/2*R13 - B3/2*R14 = 0
B7/2*(R19 + R20) - B5/2*R19 - B5/2*R20 = 0

CALLING THE THIRD SOURCE ON THE LEFT "B2'',
[WORKING FROM TOP LEFT DOWN AND TO THE RIGHT]

P.S Which computer programme would you recommend to do such calculations?

Cheers!

Hesch
Gold Member
I just did all the current loops anti-clockwise so I might have got the conventions wrong
Well, now you are using Kirchhoffs Voltage Law( KVL with current loops ). I was speaking of his Current Law ( KVL with nodes ).

Anyway, your your equations are wrong: KVL uses loop currents but for example in your first equation:

B5/2*(R1 + R15 + R19) - B1/2*R1 - B7/2*R19 = 0

you are using physical currents ( B5, B1, B7 ) which are not loop-currents. Using KVL you must define al loop-current within every loop in your circuit, and yes, there is 12 loops with the loop-currents L1 . . L12 in your drawing in #5, thus you must have 12 equation to solve them.
Which computer programme would you recommend to do such calculations?
I think there are a lot of different programs that can solve 12 equations ( MatLab, MathCAD, etc. ), but I prefer to write such a program myself in good old Borland Pascal . Then I know know what I'm doing and I don't have to pay for a license .

If you are in doubt how to use KVL/KCL then post a simple circuit with an attempt to make the equations for that. I ( or others ) will have a look at it.

The Electrician
Gold Member
I'm extreeeeamly rusty at basic circuit theory.
I want to transform a sort of infinite arrangement of this circuit:View attachment 85252
The values themselves aren't important, just the representation of what's happening, all the verticle resistors are the same value as eachother, and all the horizontal resistors are the same value as eachother.
I just made up 1 and 3 ohms as a random example. You could say that all the current soruces are 1 A if you like.
I'd like to figure out how to transform all the current sources into voltage sources using source transformation:
https://en.wikipedia.org/wiki/Source_transformation

But my issue is that since each current source has multiple resistors in parallel with it, how can you do this?

Thanks a lot!!!
It probably wouldn't be too hard to convert a repeating segment of your circuit into a two-port (https://en.wikipedia.org/wiki/Two-port_network).

Would you care about what's actually in the two-port, or is it sufficient that the two-port contains different circuitry, maybe containing only voltage sources, maybe not, and the two port behavior at the terminals would be the same as your circuit? If that's ok, then you could cascade an infinite number of the two-ports and get an infinite circuit with the same behavior as your original circuit carried to infinity.

If you are in doubt how to use KVL/KCL then post a simple circuit with an attempt to make the equations for that. I ( or others ) will have a look at it.
Oh yeah, good point(s). And thanks for the quick reply. Its starting to come back to me. Well here is a labeled picture For KCL: let N1 = 0V
[0-N4] / R15 + [N4-N5] / R1 + B1 + [N7-N4] / R3 + [N8-N4] / R8 = 0
B5 + [N5-N4]/R1 + [N5-N6]/R2 = 0
[N6 - N5] / R2 + [N6 - N3] / R16 - B1 + [N6 - N7] / R4 + [N6 - N10] / R7 = 0
[N7 - N4] / R3 + B2 + [N7 - N6] / R4 = 0
[N8 - N4] / R8 + [N8 - N9] / R5 + [N8 - N1] / R12 - B4 + [N8 - N11] / R9 = 0
[N9 - N8] / R5 - R2 + [N9 - N10] / R6 = 0
[N10 - N6] / R7 + [N10 - N9] / R6 + B4 + [N10 - N11] / R10 + [N10 - N3] / R11 = 0
[N12 - N1] / R13 + B3 + [N12 - N3] / R14 = 0
[N1 - N2] / R19 + B7 + [N1 - N8] / R12 = 0
[N2 - N1] / R19 - B5 + [N2 - N3] / R20 = 0
[N3 - N2] / R20 - B7 + [N3 - N6] / R16 = 0

How's that? So what do I rearrange for now?

I think there are a lot of different programs that can solve 12 equations ( MatLab,...
Right, I'll use matlab than.

THANKS

It probably wouldn't be too hard to convert a repeating segment of your circuit into a two-port (https://en.wikipedia.org/wiki/Two-port_network).

Would you care about what's actually in the two-port, or is it sufficient that the two-port contains different circuitry, maybe containing only voltage sources, maybe not, and the two port behavior at the terminals would be the same as your circuit? If that's ok, then you could cascade an infinite number of the two-ports and get an infinite circuit with the same behavior as your original circuit carried to infinity.
I'm so rusty that what you proposed more or less went over my head, could you humour me? Maybe with a picture? Cheers! (I'd like it to be finite, although an infinite circuit would still be of interest to me)

The Electrician
Gold Member
I'm so rusty that what you proposed more or less went over my head, could you humour me? Maybe with a picture? Cheers! (I'd like it to be finite, although an infinite circuit would still be of interest to me)

I want to tell you that if you actually solve the 11 equations which you have formulated with symbolic variables, you will get results for the node voltages which will be totally unusable. Each node voltage expression will take many lines, maybe pages. Here's what I mean, only many times bigger: On the other hand, if you attempt a numerical solution you will get a usable solution.

What is your ultimate purpose in all this? What will you do with the solution?

#### Attachments

• 243 KB Views: 419
Hesch
Gold Member
How's that? So what do I rearrange for now?
I've only checked the first equation:

[0-N4] / R15 + [N4-N5] / R1 + B1 + [N7-N4] / R3 + [N8-N4] / R8 = 0

Starting with the first parenthesis [0-N4] you are calculating the sum of currents that flows towards the node N4, thus all the currents must have this direction:

[0-N4] / R15 + [N5-N4] / R1 + B1 + [N7-N4] / R3 + [N8-N4] / R8 = 0

You don't have to "rearrange". Just setup a matrix: As for this first equation, the coefficient in the first row will be:

N4: -1/R15 - 1/R1 - 1/R3 - 1/R8
N5: 1/R1
N7: 1/R3
N8: 1/R8
= -B1

The solution will be all the node-voltages: N2 . . N12

What is your ultimate purpose in all this? What will you do with the solution?
I want to model a permanant magnetic array as an electromagnetic array made from amp-turns.

Starting with the first parenthesis [0-N4] you are calculating the sum of currents that flows towards the node N4, thus all the currents must have this direction:
Is this something like the (12x12) matrix you were talking about (in Matlab):
[0-N4] / R15 + [N5-N4] / R1 + B1 + [N7-N4] / R3 + [N8-N4] / R8 = 0
B5 + [N4-N5]/R1 + [N6-N5]/R2 = 0
[N5 - N6] / R2 + [N3 - N6] / R16 - B1 + [N7 - N6] / R4 + [N10 - N6] / R7 = 0
[N4 - N7] / R3 + B2 + [N6 - N7] / R4 = 0
[N4 - N8] / R8 + [N9 - N8] / R5 + [N1 - N8] / R12 - B4 + [N11 - N8] / R9 = 0
[N8 - N9] / R5 - B2 + [N10 - N9] / R6 = 0
[N6 - N10] / R7 + [N9 - N10] / R6 + B4 + [N11 - N10] / R10 + [N3 - N10] / R11 = 0
[N1 - N12] / R13 + B3 + [N3 - N12] / R14 = 0
[N2 - N1] / R19 + B7 + [N8 - N1] / R12 = 0
[N1 - N2] / R19 - B5 + [N3 - N2] / R20 = 0
[N2 - N3] / R20 - B7 + [N6 - N3] / R16 = 0
Becomes:

resist =
[0 0 0 -(1/R1 + 1/R3 + 1/R8) 1/R1 0 1/R3 1/R8 0 0 0 0
0 0 0 1/R1 -(1/R1 + 1/R2) 1/R6 0 0 0 0 0 0
0 0 1/R16 0 1/R2 -(1/R2 + 1/R16 + 1/R4 + 1/R7) 1/R4 0 0 1/R7 0 0
0 0 0 1/R3 0 1/R4 0 -(1/R3 + 1/R4) 0 0 0 0 0
1/R12 0 0 1/R8 0 0 0 -(1/R8 + 1/R5 + 1/R12 + 1/R9) 1/R5 0 1/R9 0
0 0 0 0 0 0 0 1/R5 -(1/R5 + 1/R6) 1/R6 0 0
0 0 1/R11 0 0 1/R7 0 0 1/R6 -(1/R7 + 1/R6 + 1/R10 + 1/R11) 1/R10 0
1/R13 0 1/R14 0 0 0 0 0 0 0 0 -(1/R13 + 1/R14)
-(1/R19 + 1/R12) 1/R19 0 0 0 0 0 1/R12 0 0 0 0
1/R19 -(1/R19 + 1/R20) 1/R20 0 0 0 0 0 0 0 0 0
0 1/R20 -(1/R20 + 1/R16) 0 0 1/R16 0 0 0 0 0 0];

current = [-B1 -B5 B1 -B2 B4 B2 -B4 -B3 -B7 B5 B7]';

Voltage = inv(resist)*current

thanks

Hesch
Gold Member
Is this something like the (12x12) matrix you were talking about (in Matlab):
[0-N4] / R15 + [N5-N4] / R1 + B1 + [N7-N4] / R3 + [N8-N4] / R8 = 0
I don't know how it's structured in Matlab. It could set up by a 12x11 matrix, so that the first equation is written:

[0-N4] / R15 + [N5-N4] / R1 + [N7-N4] / R3 + [N8-N4] / R8 = -B1

But if the setup is split in two matrices, it must be a 11x11 and a 1x11 matxrix, so that the first row in the 11x11 matrix must be:

[ 0 0 -(1/R1 + 1/R3 + 1/R8) 1/R1 0 1/R3 1/R8 0 0 0 0] ( first zero removed. It would be the coefficient to N1, but you have already decided that N1 = 0, so the first column will be the coefficients to N2 ).