Sorry, I think I made a mistake in my interpretation of what R1-2 means when CZ=3. I think it is just the losses in the actual short-circuit test, in which the applied voltage is very low, certainly NOT the nominal voltage. The voltage is applied until one gets the nominal current, I=1 in pu. Then the calculation of R in the Siemens paper I cited is correct.
The corrected code would be then: R(cz3) = 1.0e-6 * ( R(cz3) ./ trans2(cz3,23) ); X(cz3) = sqrt(X(cz3).^2 - R(cz3).^2); % now change to pu of system units (also with a possible correction due to nominal bus voltages) R(cz3) = R(cz3) .* Zb(cz3) ./ Zbs(fbus(cz3)); X(cz3) = X(cz3) .* Zb(cz3) ./ Zbs(fbus(cz3)); (and similarly for R,X of 3-winding transformers; note also that line 0107 has to stay for cz2 transformers). -- Jose L. Marin Gridquant España SL Grupo AIA On Thu, Oct 22, 2015 at 2:52 PM, Jose Luis Marin <mari...@gridquant.com> wrote: > Hello Ray, > > > I think I may have found a bug in *psse2mpc*, which concerns the > calculation of R,X for transformers when these are specified with *"Impedance > Code" CZ=3*. The PSS/E docs decribing the RAW format specify that, when > CZ=3, the values in the file are: > > - R1-2 is the transformer load loss in watts (to be precise: > short-circuit test three-phase full-load winding copper losses, in Watts) > - X1-2 is impedance magnitude in pu, on a specified base MVA > (SBASE1-2) and winding base voltage (NOMV1) > > The conversion code is in lines L0107-L0108 for 2W transformers and > L0180-L0185 for 3W transformers, in module psse_convert_xfmr > <http://www.pserc.cornell.edu//matpower/docs/ref/matpower5.1/psse_convert_xfmr.html> > . > > By my account, this is how the conversion should be done, conceptually > (see if you agree): > > - The value X1-2 given in the file is actually the modulus of Z, i.e. > the complex impedance of the "copper" part of the transformer. Use this to > obtain the modulus of the intensity I in the short-circuit test (using > V=NOMV1, i.e 1 in pu), and then from P=I^2 R one can obtain the per-unit > resistance. The value P (in pu) is just the value R1-2 divided by SBASE1-2 > * 1.0e+6. > - Now that we've got R in pu, and we know |Z|, calculate X = sqrt ( > |Z|^2 - R^2). > - Up to here all quantities are pu on SBASE1-2 and NOMV1. Change to > the pu of the system base and the bus terminals base voltages (these may be > different than the transformers' sometimes). This last bit was correctly > done in the code. > > > But this is how it appears in the code now: > > 0107 X(cz23) = X(cz23) .* Zb(cz23) ./ Zbs(fbus(cz23)); > 0108 R(cz3) = trans2(cz3,25).^2 ./ trans2(cz3,21) ./ Zbs(fbus(cz3)); > > > The correction, if my conversion procedure above is correct, would be as > follows (showing the code only for 2-winding cz3 transformers): > > R(cz3) = 1.0e-6 * ( R(cz3) ./ trans2(cz3,23) ) .* X(cz3).^2; > X(cz3) = sqrt(X(cz3).^2 - R(cz3).^2); > % now change to pu of system units (also with a possible correction due to > nominal bus voltages) > R(cz3) = R(cz3) .* Zb(cz3) ./ Zbs(fbus(cz3)); > X(cz3) = X(cz3) .* Zb(cz3) ./ Zbs(fbus(cz3)); > > (and similarly for R,X of 3-winding transformers; note also that line 0107 > has to stay for cz2 transformers). > > Now, keep in mind that there's a document by Siemens here > <http://w3.usa.siemens.com/datapool/us/SmartGrid/docs/pti/2009July/PDFs/Modeling_of_two_winding_voltage_regulating_transformers.pdf> > in which they work out the math of this conversion, but I think they get it > wrong for R, because they are forgetting the factor |Z|^2. Unfortunately, > I don't have PSS/E to test what the program really does internally, but my > take is that if R1-2 and X1-2 are what the specs say they are, then the > formulas I gave here are the correct ones. > > > -- > Jose L. Marin > Gridquant España SL > Grupo AIA > > <http://www.gridquant.com/> >