| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # -*- 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
|