@@ -62,6 +62,17 @@ function _pwf2pm_DBSH_shunt!(pm_data::Dict, pwf_data::Dict, shunt::Dict; add_con
62
62
sub_data[" control_data" ][" bsmax" ] = bs_bounds[2 ]
63
63
@assert sub_data[" control_data" ][" bsmin" ] <= sub_data[" control_data" ][" bsmax" ]
64
64
sub_data[" control_data" ][" inclination" ] = nothing
65
+
66
+ controlled_bus = sub_data[" control_data" ][" controlled_bus" ]
67
+ if sub_data[" control_data" ][" shunt_control_type" ] in [2 ,3 ]
68
+ pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_control" ] = true
69
+ shunt_section = pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_section" ]
70
+ if isnothing (shunt_section)
71
+ pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_section" ] = " DBSH"
72
+ else
73
+ # don't overwrite
74
+ end
75
+ end
65
76
end
66
77
67
78
sub_data[" source_id" ] = [" switched shunt" , sub_data[" shunt_bus" ], " 0$(n+ 1 ) " ]
@@ -115,6 +126,17 @@ function _pwf2pm_DCER_shunt!(pm_data::Dict, pwf_data::Dict, shunt::Dict; add_con
115
126
sub_data[" control_data" ][" vmmax" ] = ctrl_bus[" vm" ]
116
127
sub_data[" control_data" ][" controlled_bus" ] = shunt[" CONTROLLED BUS" ]
117
128
sub_data[" control_data" ][" inclination" ] = shunt[" INCLINATION" ]
129
+
130
+ controlled_bus = sub_data[" control_data" ][" controlled_bus" ]
131
+ if sub_data[" control_data" ][" shunt_control_type" ] in [2 ,3 ]
132
+ pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_control" ] = true
133
+ shunt_section = pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_section" ]
134
+ if isnothing (shunt_section)
135
+ pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_section" ] = " DCER"
136
+ else
137
+ pm_data[" bus" ][" $controlled_bus " ][" control_data" ][" shunt_section" ] = " DCER" # DCER always overwrites
138
+ end
139
+ end
118
140
end
119
141
120
142
sub_data[" source_id" ] = [" switched shunt" , sub_data[" shunt_bus" ], " 0$(n+ 1 ) " ]
0 commit comments