def _pd2ppc_zero(net): """ Builds the ppc data structure for zero impedance system. Includes the impedance values of lines and transformers, but no load or generation data. For short-circuit calculation, the short-circuit impedance of external grids is also considered. """ # select elements in service (time consuming, so we do it once) net["_is_elements"] = aux._select_is_elements_numba(net) ppc = _init_ppc(net) # init empty ppci ppci = copy.deepcopy(ppc) _build_bus_ppc(net, ppc) _build_gen_ppc(net, ppc) _add_ext_grid_sc_impedance_zero(net, ppc) _build_branch_ppc_zero(net, ppc) # adds auxilary buses for open switches at branches _switch_branches(net, ppc) # add auxilary buses for out of service buses at in service lines. # Also sets lines out of service if they are connected to two out of service buses _branches_with_oos_buses(net, ppc) if hasattr(net, "_isolated_buses"): ppc["bus"][net._isolated_buses, 1] = 4. # generates "internal" ppci format (for powerflow calc) from "external" ppc format and updates the bus lookup # Note: Also reorders buses and gens in ppc ppci = _ppc2ppci(ppc, ppci, net) net._ppc0 = ppc return ppc, ppci
def get_nx_ppc(net): _init_nx_options(net) ppc = _init_ppc(net) _build_bus_ppc(net, ppc) return ppc