Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
#***************************************************#
# 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])
Exemplo n.º 4
0
Arquivo: ex2.py Projeto: ttinoco/PFNET
# ***************************************************#
# 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())