第 09 讲 / 共 09 讲 · 建模与仿真

平衡点、扰动与公平比较

什么证据能让模型比较可信?

90 分钟案例 · 图解 · 推导 · 实验本讲练习 ↗

从一个实际问题出发

什么证据能让模型比较可信?

评审希望知道哪种控制器更好。但四条漂亮曲线还不够:起始工作点、扰动、测量端口和数值精度必须先一致,曲线差异才具有可解释的意义。

学完本讲,你应该能够…
  • 求解匹配的并网点运行状态。
  • 在比较中保留失败或不稳定工况。

09.01 机理与推导

匹配物理目标,而非所有输入数字

统一采用 10 kVA、400 V、50 Hz 基值、同一个 PoC 和同一个电网。总初始 P = 0.6 pu、Q = 0,并联模型再将目标分到各支路。联立 S = VI* 与 V = 1 + Z_gI,选择潮流高电压解。

每个控制器都必须在自身坐标中实现这一点。droop、VSM 需要 Q* 偏置来支撑内部电压降。因此,不同原始指令可以对应同一物理目标,这才是我们所需的比较。

比较需要共同运行点和一致的实验协议
机理图解 比较需要共同运行点和一致的实验协议 左右滑动查看全图 放大图示 ↗
S=VI^*,\qquad V=1+Z_g\overline{S/V},\qquad\lVert f(x_0,u_0)\rVert_\infty<\varepsilon
Z_g=\frac{1+j\,10}{\mathrm{SCR}\sqrt{101}},\qquad\Delta P^*_{branch}=\frac{\Delta P^*_{total}}{N}

09.02 机理与推导

先验证稳态,再准确放置事件

扰动前先检查 max|f(x₀,u₀)|。用旧输入积分到 1 s,再用新输入启动下一段。相同时间戳的前后采样保留突变两侧数值,避免 Runge–Kutta 阶段跨越不连续点进行平均。

默认步长为 0.5 ms,再用 0.25 ms 重算并在共同输出网格比较轨迹。曲线光滑只是绘图特性;步长细化才提供数值解的证据。切换实验还要在 2 s 增加分段边界与重置。

e_h=\max_k|P_h(t_k)-P_{h/2}(t_k)|

09.03 机理与推导

区分自洽、有效性与外部验证

稳态、KCL、功率和与重置残差,检查的是与所声明方程是否自洽。与更完整模型在指定范围内比较,评估的是近似有效性。独立测量或经过确认的参考模型,才提供外部验证。

浏览器实验提供第一类证据。不稳定结果应保留;若 4 s 内无法判断 VSM 收敛,应延长窗口。结论应明确模型、扰动与参数范围,而不是宣布某控制器普遍更优。

09.04 机理与推导

把模型比较写成决策报告

提交一份简短决策报告,包含模型契约、匹配稳态表、两种受控扰动,以及对响应差异的机理解释;附上参数快照、可执行实验和步长细化结果。

最后给出与证据相称的建议:哪个实现足以回答当前问题,什么机理解释它的响应,以及扩展结论前还需测试哪些动态。源仓库完整阶次 notebook 提供下一层研究入口。

把推导变成数量判断

把案例算清楚

在一个稳态匹配算例中,所需源幅值 E = 1.01 pu、E₀ = 1、端口 Q = 0、n_q = 0.0325,求匹配的 Q*。

  1. 稳态 Q_f 等于端口 Q,即 0。
  2. 整理 E = E₀ − n_q(Q_f − Q*)。
  3. 得到 Q* = (1.01 − 1)/0.0325。

匹配指令为 0.307692 pu,而端口 Q 仍然为零。给定源幅值是独立算例,并非默认 SCR = 5 的幅值。

从预测走向证据

先有比较协议,曲线才成为证据

匹配 PoC 功率并施加相同总指令阶跃,才能识别所声明模型的差异;叠图不能建立普遍排名。

端口运行点相同,暂态轨迹仍然不同
求解器计算 端口运行点相同,暂态轨迹仍然不同 左右滑动查看全图 放大图示 ↗
  1. 所有模型从相同 PoC 总 P、Q 出发,原始控制指令仍可不同。
  2. 相同总指令阶跃揭示各模型的暂态机理。
  3. 先检查稳态与步长细化,再将差异归因于控制设计。

你的实验任务

  1. 在 SCR = 5 下,用总 +0.03 pu 有功阶跃比较四个模型。
  2. 改为 +0.1 Hz 频率阶跃,解释 GFL 与 GFM 的稳态响应。
  3. 在 Python 中将 case["dt"] 减半,对齐采样后比较,并在报告中记录最大误差。

实验室 · Python 在浏览器内运行

预测 → 运行 → 检查

先预测响应,再修改参数并点击运行。初始曲线是由同一求解器生成的基准结果。首次计算需要联网加载 Python,之后无需重新下载。

正在读取基准结果…

数值检查与采样结果

低频教学模型:额定频率代数网络、理想电流 / 电压实现。50 Hz,10 kVA,400 V;PCC 初始总 P = 0.6、Q = 0;X/R = 10。τᵢ = 0.02 s,τₚ = 0.1 s,τq = 0.05 s,nq = 0.0325;GFM 源阻抗 0.00625 + j0.1 pu。未保留 LCL、内部 PI、直流动态或限流。

检查推理,再形成判断

你能解释,也能算对吗?

计算练习 · 使用题目给定值

pu

概念判断

比较不同控制类别之前,应优先匹配什么?

本讲的工程判断

完成两页决策报告,均衡呈现模型契约、推导、实验与证据强度,并把尚未解决的适用边界写进建议。

复现与拓展

把证据带回你的模型

核心方程速查
S=VI^*,\qquad V=1+Z_g\overline{S/V},\qquad\lVert f(x_0,u_0)\rVert_\infty<\varepsilon
Z_g=\frac{1+j\,10}{\mathrm{SCR}\sqrt{101}},\qquad\Delta P^*_{branch}=\frac{\Delta P^*_{total}}{N}
e_h=\max_k|P_h(t_k)-P_{h/2}(t_k)|
打开 Python 实验与模型源码

代码读取上方实验参数,结果独立绘制。修改实验或展开模型源码,检验自己的预测。下载实验可得到含参数、完整求解器与实验的单个 .py 文件,本地只需 Python 3。

case 是点击运行时的参数快照。调用 solve(case),将最终解赋给 result,即可绘制代码结果。

下载求解器

首次运行需联网下载 Python 环境。计算在浏览器内完成,求解器只用 Python 标准库。

准备运行。

输出将在这里显示。
查看并编辑模型源码(进阶)

修改源码影响下次 Python 实验;上方实验继续使用原始教学方程。

对应的源仓库材料与模型范围

基于 PINN-IBR 本地材料整理,审阅日期 2026-10-03。网页采用独立教学实现;低频模型保留额定频率代数网络与理想执行器。下列材料用于继续研究完整模型。

  • Coding/Modeling/Single-IBR-Infinite-Bus/12_Single_IBR_Control_Family_Comparison.ipynb
  • Research-Xirui-Zhang/Coding/xirui_low_frequency/model.py
PINN-IBR ↗

下一步

建模课程至此闭环。后续 physics-informed 或 neural ODE 代理模型,应继承同样的状态定义、端口约定、稳态与事件协议。

全部九个模块
  1. 系统边界与模型表示
  2. 坐标变换与标幺约定
  3. 平均变流器与 LCL 电路
  4. PLL 与跟网型控制
  5. 下垂构网型控制
  6. VSM 与虚拟惯量
  7. GFL–GFM 并联混合模型
  8. 模式切换混合模型
  9. 平衡点、扰动与公平比较