Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

So I realize I am answering my own question here, but I believe I did somehow stumble across the solution.

The problem with the above code does not lie in the python implementation, rather it is in the .dyr file that describes the GENSAL dynamic machine models. (see the original values in the question.)

At first I started by using the default values that Power World provides:

/ bus, model, id, Tdo', tdo", tqo", H, D, Xd, Xq, Xd', Xd"=Xq", Xl, S(1.0), S(1.2)
1, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /
2, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /
3, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /

This allowed me to produce an accurate flat dynamic simulation.

Next, since I did not understand why my original GENSAL values would work in Power World, but not PSS/E I decided to start playing with the values. Below is this result:

/ bus, model, id, Tdo', tdo", tqo", H, D, Xd, Xq, Xd', Xd"=Xq", Xl, S(1.0), S(1.2)
1, 'GENSAL', 1, 8.96, 0.05, 0.05, 23.64, 0.01, .146, .138, .018, .05, 0, 0, 0 /
2, 'GENSAL', 1, 6, 0.05, 0.05, 6.4,  0.01, .8958, .851, .112, .05, 0, 0, 0 /
3, 'GENSAL', 1, 5.89, 0.05, 0.05, 3.01, 0.01, .132, .126, .016, .05, 0, 0, 0 /

This produced a similar output to the default power world output that looks like this:

image description

For a short beginner explanation (perhaps someone else who know more about machine modeling can chime in):

  1. For simplicity sake I made the damping coefficient (D) nearly 0

  2. I changed the Tdo' and Tqo' to be small, but still larger than the PSS/E step size (1/120) otherwise the simulation cannot solve (result of trial and error)

  3. Made Xq to be 95% of Xd for each generator, and similarly made Xd' to be (1/8) of Xd. I found this "rule of thumb" somewhere in a textbook on modeling machines. Seems to be a good approximation.

Hope this helps, and onward to exciter/governor models!

So I realize I am answering my own question here, but I believe I did somehow stumble across the solution.

The problem with the above code does not lie in the python implementation, rather it is in the .dyr file that describes the GENSAL dynamic machine models. (see the original values in the question.)

At first I started by using the default values that Power World provides:

/ bus, model, id, Tdo', tdo", tqo", H, D, Xd, Xq, Xd', Xd"=Xq", Xl, S(1.0), S(1.2)
1, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /
2, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /
3, 'GENSAL', 1, 7, .035, .05, 3, 0, 2.1  , .5,  .2, .18, .15, 0, 0 /

This allowed me to produce an accurate flat dynamic simulation.

Next, since I did not understand why my original GENSAL values would work in Power World, but not PSS/E I decided to start playing with the values. Below is this result:

/ bus, model, id, Tdo', tdo", tqo", H, D, Xd, Xq, Xd', Xd"=Xq", Xl, S(1.0), S(1.2)
1, 'GENSAL', 1, 8.96, 0.05, 0.05, 23.64, 0.01, .146, .138, .018, .05, 0, 0, 0 /
2, 'GENSAL', 1, 6, 0.05, 0.05, 6.4,  0.01, .8958, .851, .112, .05, 0, 0, 0 /
3, 'GENSAL', 1, 5.89, 0.05, 0.05, 3.01, 0.01, .132, .126, .016, .05, 0, 0, 0 /

This produced a similar output to the default power world output that looks like this:

image description

For a short beginner explanation (perhaps someone else who know knows more about machine modeling can chime in):in) Here goes:

  1. For simplicity sake I made the damping coefficient (D) nearly 0

  2. I changed the Tdo' and Tqo' to be small, but still larger than the PSS/E step size (1/120) otherwise the simulation cannot solve (result of trial and error)

  3. Made Xq to be 95% of Xd for each generator, and similarly made Xd' to be (1/8) of Xd. I found this "rule of thumb" somewhere in a textbook on modeling machines. Seems to be a good approximation.

Hope this helps, and onward to exciter/governor models!