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:
- PF: pre-contingency system based on original data file dispatch
(all facilities in service)
- OPF: pre-contingency system based on optimal power flow dispatch
(all facilities in service)
- BRk_PF: post-contingency system based on original data file
dispatch (branch k out of service)
- OPF_BRk_PF: post-contingency system based on pre-contingency
optimal dispatch (branch k out of service)
- BRk_OPF: post-contingency system based on post-contingency
optimal dispatch (branch k out of service)
Procedure
- Run the power flow: runpf('case30pr4') in MATPOWER
- Run the optimal power flow: runopf('case30pr4') in MATPOWER
- Save the generation dispatch and voltage set points for later. See
savecase_hint.txt for sample code.
- Examine the optimal power flow options: help mpoption in MATPOWER
- Examine the effects from changing the Vmin, Vmax limits in the bus data
- Examine the effects from changing the rateA limits in the branch data
- 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.
- Remove branch "k" from the optimal power flow case to create a new
"M-file" (e.g., case30pr4_opf_brk) with branch "k" deleted
- Run the post-contingency power flow: runpf('case30pr4_brk') in
MATPOWER
- Run the post-contingency power flow based on the pre-contingency optimal
power flow: runpf('case30pr4_opf_brk') in MATPOWER
- Run the post-contingency optimal power flow:
runopf('case30pr4_brk') in MATPOWER
Deliverables
- Brief overview for the project.
- 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.
- 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.
- 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)?
- 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.
- 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.
- 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.
- 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.
- 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