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>


Reply via email to