# Network simulator

Discussion in 'Electrical Engineering' started by Louis, Jul 5, 2007.

1. ### LouisGuest

Hello,

I plan to create a simplified electrical network simulator.

The goal is only to provide power nodes (in and out) and lines through those
nodes and to compute lines charges in regard of power production and
consumption.

Algorithms found on the web are too complicated for my purpose.

Is an algorithm based on "shortest way path" is convenient ?

Is power producted goes to all consumption nodes regarless of their distance
or is the "near" production node giving power at consumption node?

Regards,

Louis

2. ### Don KellyGuest

----------------------------
It would be nice to know what you are talking about. If you are looking at
power systems , then this is well established (see Load flow). How simple an
algorithm do you want? The basic ones now in use are not inherently complex
in concept. Simplifying these would lead to results that might well be
meaningless (one could ignore line resistance for example). How the "power
flow" is distributed depends on several parameters so one cannot simply use
shortest path methods.

3. ### LouisGuest

Hello Don,

Did you know any reference on the web at a "simple" low fload algorithm?
(all those I have found are too many complex for my own use...)

Many thanks again,

Louis.

4. ### Don KellyGuest

I don't know what is on the net. Most references use a form of
Newton-Raphson iteration and some older ones use Gauss-Seidel. Both are
basically root finding iterative algorithms. Beyond this there are methods
of reducing the size of the problem or even subdividing it for large
systems. These mainly are aimed at reduction of storage needs for solution.
The same approaches ignoring line resistance may offer some advantage in
programming and speed but will also ignore any line losses.
You have not indicated how large a system that you want to deal with and how
good do you want the results to be.

5. ### Don KellyGuest

----------------------------
Matrix re-ordering, at least rowwise is simple and quick. Sparsity
techniques are generally used along with Newton-Raphson rather than
Gauss-Seidel. N-R generally does the job with fewer iterations while there
is more work per iteration, there is still an advantage.
I believe that the original writer was looking for something simpler. One
such is a simplified N-R method where the Jacobean doesn't change (as it
normally does in the full blown version) so that the work per iteration is
reduced. This might be closer to what he wanted.
Stott& Alsac " Fast Decoupled Load Flows", Trans IEEE (PAS), Vol PAS93,
May-June 1974, pp859-69

Some approximations are involved to gain speed. Nowadays, computers are
considerably faster but for rapidly repeated solutions any speed advantage
with reasonable accuracy is beneficial and the fixed Jacobean helps a lot
there as its inverse can be found once and re-used.
By the way- I said 5 simultaneous non-linear equations- only 4 required
(breaking two complex equations into 4 real equations is the normal
approach).

6. ### LouisGuest

Hello,

In fact the goal is a simulation of a simple network (about 10 power sources
and 50 power consumption).

I look for a "fast" method beacause I want to simulate line broken and so on
with an high rate of occurrence.

So the perfect algorithm is not truely need... A "approximate" method will
be fine, and that's why I wrote about "shortest path" in my first message.

power from "power sources" is it going to all consumption points or only to
nearest points of consumption.

As can I obtain a apparent good result with those type of algortithm?

Thanks again,

Louis.

7. ### Don KellyGuest

----------------------------
The trick is to use a Gause Seidel first iteration -then switch to the
faster converging Newto-Raphson or some simplified variation of it.
However, for a small system as indicated, there are many programs
available. It is not hard to write one to suit one's purposes. As for broken
line (assuming that this means the line is out of service -not
faulted) -there are methods to handle changes to the system admittance
matrix.
For a decent computer, it is easy enough to simply rebuild the admittance
matrix from modified input data -as needed and solve accordingly without
getting wound up in complexity. After all the concept involved is the same
for 5 busses as for 5000 busses- the difference being the methods to keep
storage and array manipulation down-which is not of concern in this case.