laos
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Matlab (PSAT) based security assesment of the IEEE-RTS-96 (Reliability Test System) using python to generate contingincies
LAOS
====

A program to look at the security of the IEEE RTS 96 using PSAT in Matlab. Python is used to generate the files to test. 

Files
=====

 * **script.py** this is where all the main functionality of the program lies. see the bottom of the file for some examples of how the program can be used.

 * simulation_batch.py - **SimulationBatch** - *batch_file* - batch

 * psat_report.py - **PsatReport** - *report_file* - report

 * psat_data.py - **PsatData** - *psat_file* - psat

 * network_probability.py - **NetworkProbability** - *prob_file* - prob

 * **buslevel.py** a messy utility to get load forecast and load forecast errors. 

 * **misc.py** A few utilities.

 * **parsingutil.py** a few utilities for pyparsing

 * **modifiedtestcase.py** a few utilities for unittest

Bugs
====

 + failed convergences on load flow followed by passing opf. causes `error` should cause `pass`.
 + reactive-limit-bug - caused by seperating generators onto virtual busses 
                        example: (pf 0.772)
 + kill-large-gen-bug - fix_mismatch fails when large gens are killed 
                        example: (pf 1.107)
 + islanding-bug - islanding should cause fail not error (e.g. kill bus 7)
 + report_to_psat - shunt-bug - it might sometimes get included twice

 + Re-run tests (again) as *both* opf and pf.

To Do
====

 - make report on why things fail and pass 
 - show to rod


Things that should be done

 - FIX BUGS
 - look into using a distributed slack bus.
 - memoize results considering that loss of either unit on a bus is the same 
   action as long as they are identical units.
 - do unit commitment as well as OPF
 - run N-1 test
 
 


File Types
==========

psat_file (*.m)
----

Defined in Link 6 (PSAT). 

    Bus.con = [ ... 
      1   138  1  0  2  1;
      24  230  1  0  2  1;
     ];
     
    Line.con = [ ... 
     1   2   100  138  60  0  0   0.0026  0.0139  0.4611 0 0 1.93 0 2    1;
     ];

prob_file (*.net)
----

component probabilities. 

    bus 1 0.025 13 
    bus 2 0.025 13 
    line A1     1  2 .24    16  0.0
    line A2     1  3 .51    10  2.9
    generator G1  1 450   50    U20               
    generator G2  1 450   50    U20           
    crow A12-1 A13-2 0.075
    crow A13-2 A12-1 0.075
    crow A18   A20   0.075

batch_file (*.bch)
----

    [abc]
        remove bus 1
        remove line A3
        remove line A54
    [def]
    [ghi]
        remove generator G65
        remove line C21-4
    [jkl]
        set all demand 1.25

matlab_file (*.m)
----

defined by psat manual.

    initpsat;
    Settings.lfmit = 50;
    Settings.violations = 'on'
    runpsat('psat_filename','data');
    runpsat pf;
    runpsat pfrep;
    closepsat;
    exit;

Links
=====

 1. [http://psdyn.ece.wisc.edu/IEEE_benchmarks/index.htm](University of Wisconsin) 
     * 9 Bus System
     * IEEE 39 Bus System
     * Simplified 14-Generator Australian Power System
     * (including full dynamic models)
 2. [http://www.ee.washington.edu/research/pstca/](University of Washington Power Systems Test Case Archive)
     * Power Flow Test Cases (No. buses: 14, 30, 57, 118, 300)
     * Dynamic Test Cases (17 Gen, 30 Bus "New England", 50 Generator)
     * IEEE-RTS-96
 3. [http://www.mathworks.com/access/helpdesk/help/toolbox/physmod/powersys](Matlab SimPowerSystems)
 4. [http://rwl.github.com/pylon/](Pylon)
 5. [http://www.pserc.cornell.edu/matpower/](Matpower)
 6. [http://www.power.uwaterloo.ca/~fmilano/psat.htm](PSAT)

Notes
=====

 * There might be a way to trip out and modify a system while matlab is running in a way that will be much quicker to run
 * to test the scenario generation probabilities are correct you can use `sort test.bch | grep -v '^\[' | uniq -c > test.csv`

To Try
======

 - Settings.distrsw = 1 % use distributed slack bus
 - Settings.init % status (including PF diverged!)
 - OPF.conv % did the OPF converge
 - OPF.report % not sure but should be checked out
 - clpsat.refresh = 0 % don't bother re-running the PF
 - clpsat.showopf % not sure

 

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。