44import pandas as pd
55
66from pandapower .create import create_group_from_dict
7- from pandapower .grid_equivalents .auxiliary import drop_assist_elms_by_creating_ext_net , \
8- drop_internal_branch_elements , add_ext_grids_to_boundaries , \
9- _ensure_unique_boundary_bus_names , match_cost_functions_and_eq_net , \
10- _check_network , _runpp_except_voltage_angles
11- from pandapower .grid_equivalents .rei_generation import _create_net_zpbn , \
12- _get_internal_and_external_nets , _calculate_equivalent_Ybus , \
13- _create_bus_lookups , _calclate_equivalent_element_params , \
14- _replace_ext_area_by_impedances_and_shunts
15- from pandapower .grid_equivalents .ward_generation import \
16- _calculate_ward_and_impedance_parameters , \
17- _calculate_xward_and_impedance_parameters , \
18- create_passive_external_net_for_ward_admittance , \
19- _replace_external_area_by_wards , _replace_external_area_by_xwards
7+ from pandapower .grid_equivalents .auxiliary import (
8+ drop_assist_elms_by_creating_ext_net , drop_internal_branch_elements , add_ext_grids_to_boundaries ,
9+ _ensure_unique_boundary_bus_names , match_cost_functions_and_eq_net , _check_network , _runpp_except_voltage_angles
10+ )
11+ from pandapower .grid_equivalents .rei_generation import (
12+ _create_net_zpbn , _get_internal_and_external_nets , _calculate_equivalent_Ybus , _create_bus_lookups ,
13+ _calclate_equivalent_element_params , _replace_ext_area_by_impedances_and_shunts
14+ )
15+ from pandapower .grid_equivalents .ward_generation import (
16+ _calculate_ward_and_impedance_parameters , _calculate_xward_and_impedance_parameters ,
17+ create_passive_external_net_for_ward_admittance , _replace_external_area_by_wards , _replace_external_area_by_xwards
18+ )
2019from pandapower .groups import isin_group , set_group_reference_column
21- from pandapower .run import runpp
2220from pandapower .toolbox .data_modification import reindex_buses
23- from pandapower .toolbox .grid_modification import replace_ward_by_internal_elements , replace_xward_by_internal_elements , \
24- drop_buses , drop_elements_at_buses , merge_nets , fuse_buses
21+ from pandapower .toolbox .grid_modification import (
22+ replace_ward_by_internal_elements , replace_xward_by_internal_elements , drop_buses , drop_elements_at_buses ,
23+ merge_nets , fuse_buses
24+ )
2525from pandapower .topology .create_graph import create_nxgraph
2626from pandapower .topology .graph_searches import connected_component , connected_components
2727
@@ -144,11 +144,6 @@ def get_equivalent(
144144 logger .debug ("xward elements of the external network are replaced by internal elements." )
145145 replace_xward_by_internal_elements (net , xwards = ext_buses_with_xward .index )
146146
147- # --- switch from ward injection to ward addmittance if requested
148- if eq_type in ["ward" , "xward" ] and ward_type == "ward_admittance" :
149- create_passive_external_net_for_ward_admittance (
150- net , all_external_buses , boundary_buses , runpp_fct = runpp_fct , ** kwargs )
151-
152147 # --- rei calculations
153148 if eq_type == "rei" :
154149 # --- create zero power balance network
@@ -182,6 +177,11 @@ def get_equivalent(
182177
183178 # --- ward and xward calculations
184179 elif eq_type in ["ward" , "xward" ]:
180+ # --- switch from ward injection to ward addmittance if requested
181+ if ward_type == "ward_admittance" :
182+ create_passive_external_net_for_ward_admittance (
183+ net , all_external_buses , boundary_buses , runpp_fct = runpp_fct , ** kwargs )
184+
185185 net_internal , net_external = _get_internal_and_external_nets (
186186 net , boundary_buses , all_internal_buses , all_external_buses ,
187187 calc_volt_angles = calculate_voltage_angles , runpp_fct = runpp_fct )
@@ -201,34 +201,38 @@ def get_equivalent(
201201
202202 if eq_type == "ward" :
203203 # --- calculate equivalent impedance and wards
204- ward_parameter_no_power , impedance_parameter = \
205- _calculate_ward_and_impedance_parameters ( Ybus_eq , bus_lookups ,
206- show_computing_time )
204+ ward_parameter_no_power , impedance_parameter = _calculate_ward_and_impedance_parameters (
205+ Ybus_eq , bus_lookups , show_computing_time
206+ )
207207
208208 # --- replace external network by equivalent elements
209- _replace_external_area_by_wards (net_external , bus_lookups ,
210- ward_parameter_no_power ,
211- impedance_parameter ,
212- ext_buses_with_xward ,
213- show_computing_time ,
214- calc_volt_angles = calculate_voltage_angles ,
215- runpp_fct = runpp_fct )
209+ _replace_external_area_by_wards (
210+ net_external ,
211+ bus_lookups ,
212+ ward_parameter_no_power ,
213+ impedance_parameter ,
214+ ext_buses_with_xward ,
215+ show_computing_time ,
216+ calc_volt_angles = calculate_voltage_angles ,
217+ runpp_fct = runpp_fct
218+ )
216219 else : # eq_type == "xward"
217220 # --- calculate equivalent impedance and xwards
218- xward_parameter_no_power , impedance_parameter = \
219- _calculate_xward_and_impedance_parameters (net_external ,
220- Ybus_eq ,
221- bus_lookups ,
222- show_computing_time )
221+ xward_parameter_no_power , impedance_parameter = _calculate_xward_and_impedance_parameters (
222+ net_external , Ybus_eq , bus_lookups , show_computing_time
223+ )
223224
224225 # --- replace external network by equivalent elements
225- _replace_external_area_by_xwards (net_external , bus_lookups ,
226- xward_parameter_no_power ,
227- impedance_parameter ,
228- ext_buses_with_xward ,
229- show_computing_time ,
230- calc_volt_angles = calculate_voltage_angles ,
231- runpp_fct = runpp_fct )
226+ _replace_external_area_by_xwards (
227+ net_external ,
228+ bus_lookups ,
229+ xward_parameter_no_power ,
230+ impedance_parameter ,
231+ ext_buses_with_xward ,
232+ show_computing_time ,
233+ calc_volt_angles = calculate_voltage_angles ,
234+ runpp_fct = runpp_fct
235+ )
232236 net_eq = net_external
233237 else :
234238 raise NotImplementedError (f"The { eq_type = } is unknown." )
0 commit comments