Sienna-Platform / Sienna-Platform/PowerOperationsModels.jl
PF in-the-loop and convergence failure
Open
bug
- Dominant language
- Julia
- Stars
- 2
- Forks
- 1
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 26
Description
With multi-period power flow in the loop, how should we handle non-convergence?
Right now, solve_power_flow! in power_flow_evaluation.jl sets pf_e_data.is_solved to true, even if some (or all) time steps failed to converge. PowerFlows.jl writes NaNs to certain fields when the power flow fails to converge. Side effects:
- The
NaNs in thebus_angleandbus_magnitudefields infect power flows in subsequent simulation steps: PSI re-uses the samePowerFlowDataobject andclear_injection_data!only zeroes out the power-related fields. calculate_aux_variable_value!on the power flow related variables producesNaNs. The code fetches the values from the most recent simulation step for whichis_solved == true, but that's all of them.
PSI has a single variable: pf_e_data.is_solved. PF has pf_data.converged::Vector{Bool}, with one true/false per time step. What should be the relationship between the two? is_solved = all(converged)? is_solved = any(converged)?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.