@@ -858,6 +858,9 @@ function _map_ravens2math_power_transformer!(data_math::Dict{String,<:Any}, data
858858 tm_fix = Vector {Vector{Bool}} (fill (ones (Bool, nphases), nrw))
859859 tm_step = Vector {Vector{Float64}} (fill (fill (1 / 32 , nphases), nrw))
860860
861+ # Init transf_star_impedance
862+ transf_star_impedance = Dict ()
863+
861864 for tank_id in 1 : ntanks
862865
863866 # Get wdg data
@@ -901,14 +904,22 @@ function _map_ravens2math_power_transformer!(data_math::Dict{String,<:Any}, data
901904 # assign vnom_wdg to vnom for transformer
902905 vnom[wdg_endNumber] = vnom_wdg
903906
907+ # Transformer star impedance when values are missing for other windings.
908+ if (wdg_endNumber != 1 && transf_star_impedance != Dict ())
909+ transf_star_impedance = get (transf_end_info[wdg_endNumber], " TransformerEndInfo.TransformerStarImpedance" , transf_end_info[wdg_endNumber- 1 ][" TransformerEndInfo.TransformerStarImpedance" ])
910+ ratios = vnom[wdg_endNumber- 1 ]/ voltage_scale_factor
911+ else
912+ transf_star_impedance = get (transf_end_info[wdg_endNumber], " TransformerEndInfo.TransformerStarImpedance" , Dict ())
913+ end
914+
904915 # resistance computation
905- transf_star_impedance = get (transf_end_info[wdg_endNumber], " TransformerEndInfo.TransformerStarImpedance" , Dict ())
906916 r_s[wdg_endNumber][tank_id] = get (transf_end_info[wdg_endNumber], " TransformerEndInfo.r" ,
907917 get (transf_star_impedance, " TransformerStarImpedance.r" , 0.0 ))
908918
909919 # reactance computation
910920 x_sc[wdg_endNumber][tank_id] = get (transf_end_info[wdg_endNumber], " TransformerEndInfo.x" ,
911921 get (transf_star_impedance, " TransformerStarImpedance.x" , 0.0 ))
922+
912923 # -- alternative computation of xsc using sc tests
913924 if haskey (transf_end_info[wdg_endNumber], " TransformerEndInfo.EnergisedEndShortCircuitTests" )
914925 leak_impedance_wdg = transf_end_info[wdg_endNumber][" TransformerEndInfo.EnergisedEndShortCircuitTests" ][1 ][" ShortCircuitTest.leakageImpedance" ]
0 commit comments