Пример #1
0
simulator.set_powerflow_solver_parameter('d','MAX VOLTAGE CHANGE IN PU', 0.3) # set up maximum voltage change in each iteration
simulator.set_powerflow_solver_parameter('d','MAX ANGLE CHANGE IN DEG', 60.0) # set up maximum angle change in each iteration
simulator.set_powerflow_solver_parameter('d','MAX ACTIVE POWER IMBALANCE IN MW', 0.001) # maximum active power mismatch
simulator.set_powerflow_solver_parameter('d','MAX REACTIVE POWER IMBALANCE IN MVAR', 0.001) # maximum reactive power mismatch
simulator.solve_powerflow('NR') # solve with Newton-Raphson method
simulator.show_powerflow_result() # show powerflow result
simulator.save_network_Y_matrix("y.csv",export_full=True) # export Y matrix, both sparse and full version

simulator.set_dynamic_model_database_capacity(1000000) # set dynamic model database capacity, in bytes
simulator.load_dynamic_data('../IEEE9_PM.dyr','PSS/E') # load dynamic data

buses = simulator.get_all_buses() # get all buses
gens = simulator.get_all_generators() # get all generators

for bus in buses: # prepare bus voltage and frequency meter for all buses
    simulator.prepare_bus_meter(bus, "voltage in pu")
    simulator.prepare_bus_meter(bus, "frequency in Hz")
for gen in gens: # prepare rotor angle meter for all generators
    simulator.prepare_generator_meter(gen, "rotor angle in deg")

simulator.set_dynamic_simulator_output_file("ieee9_PM") # set dynamic simulation output file for storing the meters
simulator.set_dynamic_simulation_time_step(0.001) # set dynamic simulation time step in seconds

simulator.start_dynamic_simulation() # start dynamic simulation by performing initialization
simulator.run_dynamic_simulation_to_time(0.0) # run dynamic simulation to 1.0s without events
y = (0,-2e4) # creat a complex shunt admittance in pu
simulator.set_bus_fault(7,"THREE PHASE FAULT",y) # set three phase fault at bus 5 with the fault shunt
simulator.run_dynamic_simulation_to_time(5.0/60) # run dynamic simulation to 1.2s with fault applied
simulator.clear_bus_fault(7,"THREE PHASE FAULT") # clear the three phase fault at bus 5
simulator.trip_line((5, 7, "1")) # trip line 1 between bus 5 and 7
simulator.run_dynamic_simulation_to_time(2.0) # run dynamic simulation to 10.0 with fault cleared
simulator.show_powerflow_result()  # show powerflow result

simulator.set_dynamic_model_database_capacity(
    1000000)  # set dynamic model database capacity, in bytes
simulator.load_dynamic_data('../IEEE9_detail.dyr',
                            'PSS/E')  # load dynamic data

buses = simulator.get_all_buses()  # get all buses
gens = simulator.get_all_generators()  # get all generators

for bus in buses:  # prepare bus voltage meter for all buses
    simulator.prepare_bus_meter(bus, "voltage in pu")
for bus in buses:  # prepare bus frequency meter for all buses
    simulator.prepare_bus_meter(bus, "frequency in Hz")
for gen in gens:  # prepare rotor angle meter for all generators
    simulator.prepare_generator_meter(gen, "rotor angle in deg")
for gen in gens:  # prepare rotor speed deviation meter for all generators
    simulator.prepare_generator_meter(gen, "rotor speed deviation in pu")
for gen in gens:  # prepare rotor speed deviation meter for all generators
    simulator.prepare_generator_meter(gen, "terminal active power in MW")

simulator.set_dynamic_simulator_output_file(
    "ieee9_frq")  # set dynamic simulation output file for storing the meters
simulator.set_dynamic_simulation_time_step(
    0.01)  # set dynamic simulation time step in seconds

load = (5, "1")
pload5 = simulator.get_load_data(load, "d", "P0_MW")
print(pload5)

simulator.start_dynamic_simulation(