Three-phase unbalanced distribution power-flow kernel: backward/forward sweep on radial networks with 3x3 phase-coupled branch impedance, pure MoonBit in per-unit values
边界声明:三相侧首发只覆盖「单个根(变电站出口)+ 辐射状树形拓扑」, 不含环网、四线中性线、负荷静特性与 PV 节点。单相侧只做 1 Slack + 若干 PQ。 计划项在「计划中」一节,不写成已实现。
| 目的 | 命令 |
|---|---|
| 静态检查(native,警告即错误) | moon check --target native --deny-warn |
| 运行测试(native) | moon test --target native |
| 静态检查(wasm-gc) | moon check --target wasm-gc --deny-warn |
| 运行测试(wasm-gc) | moon test --target wasm-gc |
| 三相配电示例(native) | moon run examples/dist_demo --target native |
| 单相平衡示例(native) | moon run examples/demo --target native |
moon-power-flow/
├── dist/ 三相不平衡配电网:相量、3x3 阻抗矩阵、辐射状拓扑校验、前推回代
├── model/ 单相平衡模型:母线、支路、网络;一致性校验与结构化错误
├── ybus/ 单相节点复导纳矩阵 Ybus 组装
├── solver/ 单相 GS 迭代求解、收敛判据、支路复功率潮流与损耗
├── cases/ 单相内置三节点算例与默认收敛参数
├── examples/demo/ 单相 GS 示例
└── examples/dist_demo/ 三相前推回代示例| 失败情形 | 返回结构 | 覆盖位置 |
|---|---|---|
| 单相:缺少 Slack | Err(NoSlack) | model/validate_test.mbt |
| 单相:Slack 多于一个 | Err(MultipleSlack(n)) | model/validate_test.mbt |
| 单相:母线编号重复 | Err(DuplicateId(id)) | model/validate_test.mbt |
| 单相:支路端点不存在 | Err(UnknownEndpoint(k, id)) | model/validate_test.mbt |
| 单相:支路阻抗为零 | Err(ZeroImpedance(k)) | model/validate_test.mbt |
| 单相:GS 不收敛 | Err(NotConverged(iter, dV)) | solver/solver_test.mbt |
| 三相:根不存在 | Err(RootNotFound) | dist/dist_test.mbt |
| 三相:母线编号重复 | Err(DuplicateNodeId(id)) | dist/dist_test.mbt |
| 三相:有环(边数 ≠ n−1) | Err(NotRadial) | dist/dist_test.mbt |
| 三相:图不连通 | Err(Disconnected(id)) | dist/dist_test.mbt |
| 三相:前推回代不收敛 | Err(NotConverged(iter, dV)) | dist/dist_test.mbt |
Install
Download zipThree-phase unbalanced distribution power-flow kernel: backward/forward sweep on radial networks with 3x3 phase-coupled branch impedance, pure MoonBit in per-unit values