Thanks for catching this, Matthias, and for tracking it down to the dimensions of the empty index vectors. I wasn’t convinced that your modifications would correctly solve the problem in all cases, so I have attached my own fixed version which will be in the next release. Let me know if you have any issues with it.

    Ray


Attachment: psse_convert_xfmr.m
Description: Binary data




On Jun 16, 2015, at 11:21 AM, Matthias Resch <[email protected]> wrote:

Dear Matpower Community,
 
I am using MATPOWER 5.1.
The aim is to convert PSS Sincal grids to the MATPOWER format and run a load flow simulation.
 
 
I will use an easy example to illustrate the problem. The Slack is on a 20 kV voltage level directly connected to a transfomer. Then there is a Sn=1 MVA, 20 kV/ 400 kV transformer. Followed by a line (5.83 m, NAYY 185 mm²) and a load with P=0.1 MW and Q=0 Mvar. The raw file is attached (mintest1.raw). 
 
If I use:
mpc = psse2mpc('mintest1.raw')
 
The following failure appears:
Error using  ./ 
Matrix dimensions must agree.
 
Error in psse_convert_xfmr (line 108)
    R(cz3)  = trans2(cz3,25).^2 ./ trans2(cz3,21) ./ Zbs(fbus(cz3));
 
This failure only happens if I use a grid with one transformer only, if there are several transformer in parallel everything runs fine.
 
It seems that the variables cw2, cw3, cw23, cz2, cz3 and cz23 are 0x0 matrices but they need to be 0x1 matrices. I don´t know if this is a bug or I just didn´t understand how this functions works. Nevertheless I changed the psse_convert_xfmr.m file by assigning the above mentioned variables (cw2,..) to a 0x1 matrix if the grid has only one transformer and now it works seems to work and the load flow shows (running PF with Newton-Raphson) the same results as in PSS Sincal. 
 
Here is the code I inserted in the two winding transformer section:
 
if nt2 > 0
    B=size(trans2);                 %%new code
    A=B(1, 1);                      %%new code
    if A==1                         %%new code
    cw2 = zeros(0,1);               %%new code
    cw3 = zeros(0,1);               %%new code
    cw23 = zeros(0,1);              %%new code
    cz2 = zeros(0,1);               %%new code
    cz3 = zeros(0,1);               %%new code
    cz3 = zeros(0,1);               %%new code
    cz23 = zeros(0,1);              %%new code
    else                            %%new code
    cw2 = find(trans2(:,5) == 2);   %% CW = 2
    cw3 = find(trans2(:,5) == 3);   %% CW = 3
    cw23 = [cw2;cw3];               %% CW = 2 or 3
    cz2 = find(trans2(:,6) == 2);   %% CZ = 2
    cz3 = find(trans2(:,6) == 3);   %% CZ = 3
    cz3 = zeros(0,1);
    cz23 = [cz2;cz3];               %% CZ = 2 or 3
    end
 
 
It would be nice if anyone could tell me if he had the same problem or if it is only with my electrical grids/ raw files.
 
Kind regards,
 
Matthias Resch
 
---------------------------------------------
M.Sc. Matthias Resch
Researcher
 
Optimized energy systems
 
Reiner Lemoine Institut gGmbH
Ostendstraße 25
12459 Berlin
Tel.:    +49 30 53042011
Mobile: +49 160 4154188
Fax.:   +49 30 53042010
Email: 
[email protected]
 
CEO: Dr. Claus Beneking
Amtsgericht Berlin-Charlottenburg, HRB 124659 B
 
 
<mintest1.raw><psse_convert_xfmr.m>

Reply via email to