def solve_ac(self, net: pfnet.Network): """ Resuelve un flujo de potencia de forma ac """ net.clear_flags() # bus voltage angles net.set_flags('bus', 'variable', 'not slack', 'voltage angle') # bus voltage magnitudes net.set_flags('bus', 'variable', 'not regulated by generator', 'voltage magnitude') # slack gens active powers net.set_flags('generator', 'variable', 'slack', 'active power') # regulator gens reactive powers net.set_flags('generator', 'variable', 'regulator', 'reactive power') p = pfnet.Problem(net) p.add_constraint(pfnet.Constraint('AC power balance', net)) p.add_constraint( pfnet.Constraint('generator active power participation', net)) p.add_constraint(pfnet.Constraint('PVPQ switching', net)) p.add_heuristic(pfnet.Heuristic('PVPQ switching', net)) p.analyze() self.solve(p, net)
def solve_dc(self, net: pfnet.Network): """ Resuelve un flujo de potencia de forma dc """ net.clear_flags() # bus voltage angles net.set_flags('bus', 'variable', 'not slack', 'voltage angle') # slack gens active powers net.set_flags('generator', 'variable', 'slack', 'active power') p = pfnet.Problem(net) p.add_constraint(pfnet.Constraint('DC power balance', net)) p.add_constraint( pfnet.Constraint('generator active power participation', net)) p.analyze() self.solve(p, net)
#***************************************************# # This file is part of PFNET. # # # # Copyright (c) 2015, Tomas Tinoco De Rubira. # # # # PFNET is released under the BSD 2-clause license. # #***************************************************# import sys import numpy as np from pfnet import Network net = Network() net.load(sys.argv[1]) print np.average([b.degree for b in net.buses])
# ***************************************************# # This file is part of PFNET. # # # # Copyright (c) 2015, Tomas Tinoco De Rubira. # # # # PFNET is released under the BSD 2-clause license. # # ***************************************************# import sys from pfnet import Network net = Network() print(net.num_buses) net.load(sys.argv[1]) print(net.num_buses) net.show_components() bus = net.get_bus(10) print(bus.index == 10) other_bus = net.get_bus_by_number(bus.number) print(bus == other_bus) reg_buses = [b for b in net.buses if b.is_regulated_by_gen()] print(len(reg_buses), net.get_num_buses_reg_by_gen())