# -*- coding: utf-8 -*- # ============================================================================= # Copyright (C) 2018 Mercados Electricos de Centroamérica. All rights reserved # ============================================================================= """Crea las estructuras con numeración secuencial de buses, circuitos y nombres de circuitos """ from numpy import array from simsdt.utils.idx_brch import BUS_I, BUS_J, CKT def setbus(net): """Lee la información de la red y crea una serie con los códigos de nodos y su numeración correlativa. """ b = net['bus_i'].append(net['bus_j']).drop_duplicates().sort_values() b = b.reset_index(drop=True) return b def setbranch(net, b): """Utiliza la información de la red, lod códigos de nodos y su numeración correlativa para generar un listado con de los circuitos de acuerdo a la numeración correlativo del nodo. """ br = net.copy() for i in range(0, net.shape[0]): br.loc[i, 'bus_i'] = b[b == br['bus_i'][i]].index[0] br.loc[i, 'bus_j'] = b[b == br['bus_j'][i]].index[0] br = br.sort_values(['bus_i', 'bus_j']) return br.values def branchnames(b, br): """Devuelve un array con los nombres de los circuitos. """ brnames = [] for i in range(0, br.shape[0]): brnames.append("-".join( [str(b.iloc[br[i, BUS_I]]), str(b.iloc[br[i, BUS_J]]), str(br[i, CKT])])) brnames = array(brnames) return brnames