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 <[email protected]<mailto:[email protected]>> wrote: 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>
