Hi Russ,

I suspect the models may not be identical. Are they using the model shown in 
the MATPOWER User’s Manual<https://matpower.org/docs/MATPOWER-manual-7.1.pdf> 
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 
<[email protected]<mailto:[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: 
[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 User’s 
Manual<https://matpower.org/docs/MATPOWER-manual-7.1.pdf> 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 
<[email protected]<mailto:[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: 
[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