Hi Ray,

 

I think I would tend to agree with you in the sense that, if the data is 
entered correctly, MATPOWER will produce the correct result.  The question then 
becomes, “Who knew that the transformer had to be entered with LV side as the 
“FROM” bus?  It seems like your discovery (week or two ago) that this would 
result in correct YBUS for the transformer branch was the first time this was 
recognized.”

 

I would expect that most transformers in any particular case have the HV side 
as the “FROM” bus….so they would be modeled incorrectly if they have 
off-nominal taps and a parallel path that is nominally tapped.

 

Best regards,

Russ

 

  _____  

Russell W. Patterson, P.E.

Patterson Power Engineers, LLC

Office: 423-702-9981 ext. 1001

Cell: 423-645-3538

Fax: 888-679-1306

PattersonPowerEngineers.com

 

 

 

 

From: [email protected] 
[mailto:[email protected]] On Behalf Of Ray Daniel 
Zimmerman
Sent: Monday, January 11, 2021 11:07 AM
To: MATPOWER-L
Subject: Re: circulating current (MVAR loss)

 

Hi Russ, 

 

Can you explain why you refer to PW, MATPOWER and PSS/E as being “incorrect”?

 

I would contend that they all give the correct answer when provided with the 
correct input data. The convention for which side of the transformer has the 
taps and which side has the impedance is simply reversed from the convention 
used by PSS/CAPE and your textbook examples. So, to correctly model the 
textbook case in MATPOWER (and PW, PSS/E), you simply have to create the branch 
table entry with the “to” and “from” orientation that corresponds to the 
MATPOWER model (opposite convention from the textbook), otherwise you are 
actually not modeling the same system.

 

So, in my opinion, it is simply a matter of the convention chosen for the 
orientation of the transformer model, and MATPOWER uses the same convention as 
PW and PSS/E to avoid confusion. But there is no “correct” convention.

 

Wouldn’t you agree?

 

   Ray

 

 

Ray Zimmerman

Senior Research Associate

The Charles H. Dyson School of Applied Economics and Management

Cornell SC Johnson College of Business

College of Agriculture and Life Sciences

201 Warren Hall, Ithaca, NY 14853

Phone: 607.255.9645

[email protected]

dyson.cornell.edu <http://dyson.cornell.edu/>  |  
<http://www.facebook.com/DysonSchool> Facebook | Twitter 
<http://twitter.com/DysonSchool> 

 

 

 

 





On Jan 7, 2021, at 7:12 PM, Russ Patterson <[email protected]> wrote:

 

Hi Ray,

 

I believe you are correct – if you ensure that the off-nominal transformer is 
added to the model with orientation in the branch data as coming FROM the 
low-side TO the high-side it will build the model correctly.  Below is a snip 
from my notes PPT and I compare the textbook model (left-hand side) to the 
MATPOWER model (right-hand side).

 

Entering the off-nominal transformer branch information like this (with the 
low-side as the FROM bus) builds the exact correct model and the load flow 
results exactly match those that are found by hand with the textbook approach.

 

The simple solution appears to require that off-nominal transformers be entered 
in branch data with this orientation – otherwise incorrect results are to be 
expected.  

 

     <image001.png>

So far I have verified that PW, MATPOWER, PSS/E all agree and have the 
incorrect result.  Siemens PSS/CAPE load flow produces the correct result 
as-is.   Changing the orientation (as you suggested) in the MATPOWER branch 
data for the off-nominal bank will result in it producing the correct result.  

 

Best regards,

russ

 

From:  <mailto:[email protected]> 
[email protected] [ 
<mailto:[email protected]> 
mailto:[email protected]] On Behalf Of Ray Daniel 
Zimmerman
Sent: Wednesday, January 6, 2021 11:52 AM
To: MATPOWER-L
Subject: Re: circulating current (MVAR loss)

 

The term “pi-model” may be used to refer to different things, but I think what 
I said is still correct. MATPOWER uses an ideal transformer (with possible 
complex off-nominal taps) in series with a standard pi-model transmission line 
that includes both a series impedance and shunt elements. 

 

If the shunt elements are ignored, the resulting model (series impedance in 
series with ideal transformer) can also be represented as a different pi-model.

 

But it matters whether the transformer is at the “from" bus and the impedance 
at the “to” bus or vice versa. And I believe MATPOWER and the textbooks you are 
using are identical, except for the convention used for this orientation.

 

So, if I am correct about that, simply swapping the orientation and inverting 
the tap ratio in MATPOWER should result in identical results to your hand 
calculations.

 

   Ray

 

 






On Jan 4, 2021, at 2:21 PM, Russ Patterson < <mailto:[email protected]> 
[email protected]> wrote:

 

I’ll take a look, thanks Ray.  But, the pi-model’s I’m talking about are to 
accommodate an off-nominal transformer.  The pi- model you are talking about is 
to accommodate the shunt terms which are not present in my case (bc).  Two 
different animals, right?

 

russ

 

From:  <mailto:[email protected]> 
[email protected] [ 
<mailto:[email protected]> 
mailto:[email protected]] On Behalf Of Ray Daniel 
Zimmerman
Sent: Monday, January 4, 2021 2:29 PM
To: MATPOWER-L
Subject: Re: circulating current (MVAR loss)

 

Actually, it looks to me like the difference is simply the convention of which 
end of the branch has the impedance and which end has the ideal transformer. If 
you flip the orientation of the branch in your MATPOWER case, so that it goes 
from bus 2 to bus 1 and invert the tap ratio, I think the MATPOWER results 
should match the other models exactly, right? 

 

   Ray

 







On Jan 4, 2021, at 12:32 PM, Ray Daniel Zimmerman < <mailto:[email protected]> 
[email protected]> wrote:

 

Hi Russ, 

 

I suspect the models may not be identical. Are they using the model shown in 
the  <https://matpower.org/docs/MATPOWER-manual-7.1.pdf> MATPOWER User’s Manual 
in Fig 3-1 with an ideal transformer in series with a pi-model? If not, that 
would explain the discrepancy.

 

I don’t have those books handy, so feel free to send me (off-list please) the 
PDFs of the relevant pages, as it would be useful to confirm.

 

Thanks,

 

    Ray

 







On Jan 4, 2021, at 11:19 AM, Russ Patterson < <mailto:[email protected]> 
[email protected]> wrote:

 

Hi Ray,

 

I’ve chewed on this a while and it looks like the MATPOWER approach is 
equivalent to the circuit below for the off-nominal transformer (#2).  The 
<image001.png> I show is based on <image002.png> for both transformers (#1 is 
at nominal tap, #2 is at tap of 1.0502).  The <image003.png> below is = 
<image004.png>.  This is the <image001.png> that MATPOWER builds.  The 
secondary bus voltage is then 0.976 pu.

 

<image005.png>

 

 

 

Below is what you get if you follow the approach that Gross1, Neunswander2, and 
Kusic3 use (attached).

 

<image006.png>

 

 

Although the MATPOWER approach and Gross approach result in different 
<image007.png> matrices, they result in nearly exactly the same secondary bus 
voltage because the ratio of <image008.png> in both are nearly identical.  

 

It seems to me that the <image001.png> created by MATPOWER may be wrong when 
off-nominal taps are used.  I say that with a large dose of humility because 
surely I am missing something.  But, it seems clear that either Gross or 
MATPOWER is wrong here.  What am I missing?

 

References (I can provide pdf of the pages if needed):

1 – “Power System Analysis”, 2ed, Charles A. Gross (p. 204)

2 – “Modern Power Systems”, John. R. Neunswander (p. 251)

3 – “Computer-Aided Power System Analysis”, George L. Kusic (p. 95)

 

Best regards,

Russ

 

 

 

From:  <mailto:[email protected]> 
[email protected] [ 
<mailto:[email protected]> 
mailto:[email protected]] On Behalf Of Ray Daniel 
Zimmerman
Sent: Monday, December 21, 2020 11:44 AM
To: MATPOWER-L
Subject: Re: circulating current (MVAR loss)

 

I suggest double-checking your calculations against the code in makeYbus.m, 
which is pretty straightforward, and the model described in the  
<https://matpower.org/docs/MATPOWER-manual-7.1.pdf> User’s Manual see Figure 
3-1 and equation (3.2). Be sure to keep in mind the orientation of the taps in 
the model. 

 

    Ray

 

 

 








On Dec 16, 2020, at 3:52 PM, Russ Patterson < <mailto:[email protected]> 
[email protected]> wrote:

 

Carlos – thank you. Very helpful.

 

The YBus I get for my case is below.  I expected Y(1,1) to equal the of this 
sum:  (1/j0.1) + (1/j0.09522) + (1/-j1.991) =  j 19.9997 (negative sign is per 
coder preference).   Is attached (page 1) not how MATPOWER would modify the 
bank #2 impedances before creating YBUS?

 

Yb =

 

Compressed Column Sparse (rows = 2, cols = 2, nnz = 4 [100%])

 

  (1, 1) ->        0 - 19.0663i

 (2, 1) ->        0 + 19.5217i

  (1, 2) ->        0 + 19.5217i

  (2, 2) ->   0 - 20i

 

Best regards,

russ

 

 

 

 

From:  <mailto:[email protected]> 
[email protected] [ 
<mailto:[email protected]> 
mailto:[email protected]] On Behalf Of Carlos E 
Murillo-Sanchez
Sent: Wednesday, December 16, 2020 4:12 PM
To: MATPOWER discussion forum
Subject: Re: circulating current (MVAR loss)

 

Russ Patterson wrote:

Hi - I am still trying to hand calculate the flow into branch 2 from bus 1 to 
bus 2.  I can’t get my results to match MATPOWER.

 

I get Q into the banks from bus 1 of,

                Bank #1:    24.00 MVAR

                Bank #2:  -25.02 MVAr

 

Attached is my short calculation and the .m file.  Is there a way to have 
MATPOWER barf out the YBUS matrix?

>> help makeYbus

If buses are numbered consecutively starting from 1 in the bus table (see 
ext2int if not), simply type:

>> mpc = loadcase('mycase');
>> [Yb, Yf, Yt] = makeYbus(mpc)

To get all the relevant current injections in the solved case, simply do

>> mpc = runpf(mpc);
>> define_constants;
>> V = mpc.bus(:, VM) .* exp(1i * mpc.bus(:, VA)*pi/180);
>> Ibus = Yb * V
>> Ifrom = Yf * V;
>> Ito = Yt * V;

>From there, compute power injections as

>> Sbusinj = V .* conj(Yb * V);
>> Sfrominj = V(mpc.branch(:, F_BUS)) .* conj(Yf * V);
>> Stoinj  = V(mpc.branch(:, T_BUS)) .* conj(Yt * V);

carlos.

<power.pdf>

 

<image021.png><image007.png><image001.png><image012.png><image014.png><image022.png><image011.png><image005.png><image013.png><image020.png><image003.png><image019.png><snip.pdf>

 

Reply via email to