-
Notifications
You must be signed in to change notification settings - Fork 0
Powerflow Solvers
EnerOS Bot edited this page Jul 5, 2026
·
1 revision
中文 | English
维护版本:v0.51.2 | 最后更新:2026-07-06
潮流计算是电力系统分析的基石。EnerOS 在 crates/eneros-powerflow 中提供 4 种算法,并通过 MATPOWER IEEE 14 基准系统验证。本页概述算法选择与精度验证;完整实现请参阅主仓库 crates/eneros-powerflow/ 与 ADR-0019。
| 算法 | crate 模块 | 收敛性 | 适用场景 | 复杂度 |
|---|---|---|---|---|
| 牛顿-拉夫逊(Newton-Raphson, NR) | solvers::newton |
二次收敛 | 输电网 / 大范围负荷变化 | O(n³) per iter |
| Fast-Decoupled(FD / XB-YB) | solvers::fast_decoupled |
线性收敛 | 输电网 / 实时快速计算 | O(n²) per iter |
| 前推回代(Backward-Forward Sweep, BFSW) | solvers::forward_backward |
鲁棒收敛 | 配电网 / 辐射状拓扑 | O(n) per iter |
| 直流潮流(DC Powerflow) | solvers::dc |
直接求解 | 启发式 / 趋势分析 / 实时调度 | O(n³) 一次 |
crates/eneros-powerflow/tests/ 与 crates/eneros-test-utils/ 提供 IEEE 14 节点基准系统 fixture:
#[test]
fn newton_matches_matpower_ieee14() {
let fixture = Ieee14Fixture::load();
let result = PowerflowSolver::newton()
.tolerance(1e-8)
.max_iterations(50)
.solve(&fixture.network)
.unwrap();
let matpower_ref = fixture.matpower_solution();
assert!(result.voltage.all_close(&matpower_ref.voltage, 1e-6));
assert!(result.power.all_close(&matpower_ref.power, 1e-6));
}v0.51.0 完成 NR + FD 与 MATPOWER 参考解的对齐验证(电压幅值/相角 / 有功/无功功率均在 1e-6 容差内一致)。
FD solver 新增输入校验,拒绝非正 / 非有限初值:
pub fn solve(&self, network: &Network, v_initial: &[f64]) -> Result<PowerflowResult> {
for (i, &v) in v_initial.iter().enumerate() {
if !v.is_finite() {
return Err(PowerflowError::InvalidInitialValue(i, "non-finite"));
}
if v <= 0.0 {
return Err(PowerflowError::InvalidInitialValue(i, "non-positive"));
}
}
// ... 求解 ...
}| 能力 | crate | 标准 |
|---|---|---|
| 谐波分析 | eneros-analysis | GB/T 14549 |
| 电磁暂态 EMT | eneros-emtp (v0.51.0+) | — |
| 状态估计 | eneros-analysis | WLS 加权最小二乘 |
| N-1 校验 | eneros-constraint | 输电网规划标准 |
| 短路计算 | eneros-analysis | IEC 60909 |
| 暂态稳定 | eneros-analysis | 时域仿真 |
- AC-OPF(IEEE 30 / 118)尚未实现,仅 DC-OPF 可用,待 v0.52.0+
- KKT 求解器升级待 v0.52.0
- IEEE 39-bus CCT(临界切除时间)API 缺 3 个接口,待 v0.52.0
- EMT 求解器为初版,未覆盖全部故障类型
- ADR-0019 潮流求解器选择
- 电力系统入门 — 潮流计算数学背景
- 主仓库 docs/developer-guide.md §v0.51.0 — 算法验证细节
- 主仓库 crates/eneros-powerflow/ — 源码
EnerOS Wiki | v0.51.2