ECE 557 - Fall 2024

Project 4 - Due Oct 10


This project requires the use of an optimal power flow program. You will need to solve a standard power flow (e.g., runpf in MATPOWER) and an optimal power flow (e.g., runopf in MATPOWER). You will compare the power system state and branch flows from the full AC power flow against the power system state and branch flows from the full AC optimal power flow. You will make a similar comparison for a branch outage contingency case. This project requires a new 30 bus system. In the end, you will have five solutions for the new 30 bus system corresponding to the following conditions:

  1. PF: pre-contingency system based on original data file dispatch (all facilities in service)
  2. OPF: pre-contingency system based on optimal power flow dispatch (all facilities in service)
  3. BRk_PF: post-contingency system based on original data file dispatch (branch k out of service)
  4. OPF_BRk_PF: post-contingency system based on pre-contingency optimal dispatch (branch k out of service)
  5. BRk_OPF: post-contingency system based on post-contingency optimal dispatch (branch k out of service)

Procedure

  1. Run the power flow: runpf('case30pr4') in MATPOWER
  2. Run the optimal power flow: runopf('case30pr4') in MATPOWER
  3. Save the generation dispatch and voltage set points for later. See savecase_hint.txt for sample code.
  4. Examine the optimal power flow options: help mpoption in MATPOWER
  5. Examine the effects from changing the Vmin, Vmax limits in the bus data
  6. Examine the effects from changing the rateA limits in the branch data
  7. Remove branch "k" from the power flow case to create a new "M-file" (e.g., case30pr4_brk) with branch k deleted. Branch "k" must have at least a 10 MVA flow at the pre-contingency optimal operating point determined by "runopf" in step 2 above.
  8. Remove branch "k" from the optimal power flow case to create a new "M-file" (e.g., case30pr4_opf_brk) with branch "k" deleted
  9. Run the post-contingency power flow: runpf('case30pr4_brk') in MATPOWER
  10. Run the post-contingency power flow based on the pre-contingency optimal power flow: runpf('case30pr4_opf_brk') in MATPOWER
  11. Run the post-contingency optimal power flow: runopf('case30pr4_brk') in MATPOWER

Deliverables

  1. Brief overview for the project.
  2. Results showing the power flow ("runpf") output from the default limits in the 30 bus data file. Be sure to include a summary of the overall system, as well as summaries of bus data and branch data. Please use a small font for the output in your report so that the data does not wrap around on each line.
  3. Results showing the optimal power flow ("runopf") output from the default limits in the 30 bus data file. Be sure to include a summary of the overall system, as well as summaries of bus data, branch data, and any constraint data. Please use a small font for the output in your report so that the data does not wrap around on each line.
  4. Discussion and comparison of the systems based on the original data file dispatch: PF and BRk_PF. Summarize the significant changes in a single table, but do NOT include the full MATPOWER output. What happens to the system following the outage of branch "k"? Is the pre-contingency system within operating limits (i.e., 0.9 <= |V| <= 1.05 and |branchMVA| <= rateA)? Is the pre-contingency system within operating security limits (use same numbers: 0.9 <= |V| <= 1.05 and |branchMVA| <= rateA)?
  5. Discussion and comparison of the systems based on the pre-contingency optimal dispatch: OPF and OPF_BRk_PF. Summarize the significant changes in a single table, but do NOT include the full MATPOWER output. Answer the same questions as above, but based on the pre-contingency optimal dispatch, rather than the original data file dispatch.
  6. Compare the pre-contingency power flow solution to the pre-contingency optimal power flow solution. For example, describe any differences that you noticed in the security, the PQ generation and PQ losses. Summarize the significant differences in a single table.
  7. Make the same comparison as above for the three post-contingency solutions: BRk_PF (original data file dispatch), OPF_BRk_PF (optimal "preventive" dispatch), BRk_OPF (optimal "corrective" dispatch). Summarize the significant differences in a single table.
  8. Explain your observations of the pre-contingency optimal power flow output results as you varied the Vmin, Vmax, and rateA limits separately, not simultaneously. Provide a table that summarizes the change in the limit (identify the bus/branch, it's old limit and it's new limit) and any significant changes in the OPF output results. Do NOT include the MATPOWER output in your report.
  9. Brief conclusions for the project.

All students must submit their report file via SafeAssign on Blackboard. Main Campus students also must submit a hardcopy report at the beginning of class.


Updated 1 Oct 2024