Project 1
You may use any power flow software you wish. However, if you don’t use MATPOWER, then make a note on your project report describing the software that you used (e.g., PTI’s PSS/E version xx).
Note that MATLAB is suggested for this project, since it will allow you to get familiar with MATPOWER which is strongly suggested for other projects. You will run two straightforward single contingency studies: one generator outage, followed by one branch outage.
• Download and install MATPOWER version 6. Be sure to add the MATPOWER directory to the MATLAB Path via “Set Path…”.
• Download the ESCA 64 bus model power flow data.
• Run the Newton-Raphson method AC power flow solution process using runpf(‘esca64_n’) and examine the output. You should also examine the power flow options in MATPOWER via help mpoption.
• Create a table of the top five percentage loaded branches (lines or transformers) plus any other branches that are loaded above 100% of their normal rate A rating (long term rating). The table should contain columns for the following data: from bus, to bus, normal rate A rating, actual apparent power MVA flow (magnitude), percentage loading (apparent power / rate A rating x 100). In addition, please rank the branches by the percentage loading column in descending order. Note: the apparent power on a branch can be calculated at the two ends of the branch. Choose the larger value.
• Create a table of the five lowest per unit bus voltages and any other buses with voltage magnitudes below 0.90 pu. The table should contain columns with the following data: bus #, area #, voltage magnitude. Rank the buses by the voltage magnitude, in ascending order.
• Create a table of the five highest per unit bus voltages and any other buses with voltage magnitudes above 1.10 pu. The table should contain columns with the following data: bus #, area #, voltage magnitude. Rank the buses by the voltage magnitude, in descending order.
• Choose a single branch (line or transformer) and solve the power flow with the branch out of service. In MATPOWER, you can change the status of a branch by modifying the “status” field in the branch section of the data file. See ‘help caseformat’ for details.
• Create a branch loading table similar to the one above.
• Create a lowest bus voltage table similar to the one above.
• Create a highest bus voltage table similar to the one above.
• Restore the branch from the previous step. Now, choose a single generator unit and solve the power flow with the unit out of service. In MATPOWER, you can change the status of a generator unit by modifying the “status” field in the generator section of the data file.
• Create a branch loading table similar to the one above.
• Create a lowest bus voltage table similar to the one above.
• Create a highest bus voltage table similar to the one above.
Deliverables
• Brief overview of the project
• Tables and discussion of the pre-contingency power flow solution results
• Tables and discussion of the post-contingency branch outage power flow solution results
• Tables and discussion of the post-contingency generator outage power flow solution results
• Brief discussion of your conclusions
• Do NOT include the MATPOWER output in your report.
Be sure to write down the branch (from bus, to bus) that you chose for your branch outage contingency. Also, be sure to write down the generator unit (bus number) that you chose for your generator unit outage contingency.
Since there is no code to submit for this project, only a report is required. All students must submit a single document via the SafeAssignment Project 0 link on BlackBoard. You are permitted to upload only one file via SafeAssignment on BlackBoard. In addition, Main Campus students must submit a hardcopy report at the beginning of class.
Project 2
You may use any power flow software you wish. However, if you don’t use MATPOWER, then make a note on your project report describing the software that you used (e.g., PTI’s PSS/E version xx, attached C code, attached Excel spreadsheet).
Generator Unit Outage Effects on Branch Loading
• Choose any generator unit except the swing. Assume that the swing is the only pickup generator. I recommend a generator that is relatively far away from the swing, otherwise the questions at the end may be hard to answer.
• Estimate the post-contingency branch MW loadings via the Power Transfer Distribution Factors (PTDFs). PTDFs are defined for all buses. Generator Shift Factors (GSFs) are the same as PTDFs at the generator buses. Note: the zip archive contains a MAT file for MATLAB, and an ASCII file. Both files have a 78×64 table of PTDFs. After unzipping the archive, you can use “load ptdf_esca64” to import the “a” matrix containing the PTDFs as formulated in lecture. (Actually, GSFs were formulated in lecture, but PTDFs use the same process.) I decided to include the swing (bus 59) column, even though it’s all zero.
• Calculate the actual post-contingency branch MVA loadings via Newton-Raphson power flow “runpf(‘esca64_n’)” with the generator out of service. Note: use the “from-end” of the branch to measure the MW and MVAR flow, even though the “to-end” might have higher flow in some cases. In general, this is not appropriate, but it will make the project simpler and allow you to focus on the most important aspects of GSFs.
• Compare your GSF based branch loadings to your actual NR power flow based branch loadings and submit the deliverables below.
Deliverables
• Brief description of project.
• Short description of your simulation, including solution summary (e.g., Newton-Raphson power flow converged in X iterations), list of active control devices (e.g., Qgen limits enforced, etc.), generator unit outaged (bus number, Pgen, Qgen).
• Table with the post-contingency top 10 most heavily-loaded branches (ranked by loading percentage — ignore the direction) based on the actual loading determined by power flow. Your table should include the following columns:
• Branch data (From, To, MVA rating, pre-contingency MVA loading)
• PTDF
• Estimated post-contingency MW loading from PTDF calculation
• Actual post-contingency MVA loading from power flow
• Estimated post-contingency percentage loading from PTDF calculation
• Actual post-contingency percentage loading from power flow
• Post-contingency percentage loading error: estimate – actual (e.g., 84%est – 87%act = -3% error)
• Table with the post-contingency top 10 largest magnitude estimation errors (ranked by percentage loading error). Rank them based on the magnitude of the error, but include the sign so that it’s clear which percentage loadings were underestimated and which were overestimated. Your table should include the same ten columns as the previous table.
• Brief discussion of your results, including answers to the following questions:
• Do GSF-based calculations accurately predict the actual branch loadings? Why? Why not?
• Are there any significant errors in the GSF-based estimates of branch loading levels? Where?
• What do you think causes the errors, if any?
• Does the location of a branch relative to the generator unit outage affect the errors? How?
• Did you notice anything else?
• All students must submit the code (MATLAB, C, Excel spreadsheet, etc.) they used to calculate the post-contingency branch flows as a section within the report. Then, the report file must be submitted via SafeAssignment on Blackboard. Main Campus students also must submit a hardcopy report at the beginning of class.
Project 2
You may use any power flow software you wish. However, if you don’t use MATPOWER, then make a note on your project report describing the software that you used (e.g., PTI’s PSS/E version xx, attached C code, attached Excel spreadsheet).
Branch Outage Effects on Branch Loading
• Choose any branch except those that would create a new island upon removal (e.g., a generator step-up transformer).
• Estimate the post-contingency branch MW loadings via the Line Outage Distribution Factors (LODF’s). Note: the zip archive contains a MAT file for MATLAB, and an ASCII file. Both files have a 78×78 table of LODFs. After unzipping the archive, you can use “load lodf_esca64” to import the “d” matrix containing the LODFs as formulated in lecture. I decided to include columns for all branches, even though some may be all zero.
• Calculate the actual post-contingency branch MVA loadings via Newton-Raphson power flow “runpf(‘esca64_n’)” as done in the first assignment.
• Compare your LODF based branch loadings to your actual NR power flow based branch loadings and submit the deliverables below.
Deliverables
• Brief description of project.
• Short description of your simulation, including solution summary (e.g., Newton-Raphson power flow converged in X iterations), list of active control devices (e.g., Qgen limits enforced, etc.), branch outaged (from bus number, to bus number).
• Table with the post-contingency top 10 most heavily-loaded branches (measured in loading percentage — ignore the direction) based on the actual loading determined by power flow. Your table should include the following columns:
• Branch data (From, To, MVA rating, pre-contingency MVA flow)
• LODF
• Estimated post-contingency MW flow from LODF calculation
• Actual post-contingency MVA flow from power flow
• Estimated post-contingency percentage loading from LODF calculation
• Actual post-contingency percentage loading from power flow
• Post-contingency percentage loading error: estimate – actual, e.g., 84%est – 87%act = -3% error)
• Table with the post-contingency top 10 largest magnitude estimation errors (measured in percentage loading error). Rank them based on the magnitude of the error, but include the sign so that it’s clear which percentage loadings were underestimated and which were overestimated. Your table should include the same ten columns as the previous table.
• Brief discussion of your results, including answers to the following questions:
• Do LODF-based calculations accurately predict the actual branch flows? Why?
• Are there any significant errors in the LODF-based estimates of branch loading levels? Where?
• What do you think causes the errors?
• Does the location of a monitored branch relative to the branch outage affect the errors? How?
• Did you notice anything else?
• All students must submit the code (MATLAB, C, Excel spreadsheet, etc.) they used to calculate the post-contingency branch flows as a section within the report. Then, the report file must be submitted via SafeAssignment on Blackboard. Main Campus students also must submit a hardcopy report at the beginning of class.