IBR 动态建模与仿真
GFL–GFM 并联混合模型
C1-07 · 讲解 + 仿真 + 练习 · 建议 90 分钟
建立共用端口的电压源与电流源支路模型。
学习目标
- 解释 REGFM_C1 并联架构。
- 区分正序模型与详细平均扩展。
从结构到模型
用共享端口耦合两个支路
实验将一个 GFL 电流执行支路和一个 droop-GFM 电压源支路连接到同一 PCC,两者同时工作,各分配总有功增量的一半。它们通过同一电网阻抗耦合;把两个分别仿真的单机曲线直接相加,会遗漏这种相互作用。
系统总基值保持为 10 kVA。两个支路都使用这个共同基值,各从 P = 0.3 pu、Q = 0 出发,总功率为 0.6 pu。若采用各自设备基值,应用共享网络方程前,必须换算电流、功率和阻抗。
网络只求解一次
电网阻抗为 Z_g,GFL 电流为 I_c,GFM 源 U = E exp(jδ) 通过 Z_f 接入。KCL 给出 I_grid = I_c + (U − V)/Z_f,再结合 V = V_g + Z_g I_grid,可得到下方显式 PCC 表达式。必须先求解它,再计算两个支路各自的功率反馈。
状态数为 4 + 3 = 7,但拼接状态还不够:两个控制器必须使用同一物理 PCC 电压,再分别转换到各自局部坐标。每个支路功率为 V Iₖ*,总功率为 V(I_c + I_v)*。
支路功率不是任意加权的输出
默认指令阶跃平均分配,但支路暂态不一定相同,因为控制动态不同。“支路功率”图展示 GFL、GFM 贡献和总量;任一时刻的支路功率之和,都必须等于 PCC 总功率。
与 REGFM_C1 的关系
这是共享 PCC 的并联教学模型,并非官方 REGFM_C1 实现。源 Notebook 明确区分正序 A11 表示与详细平均 F21 研究扩展。虚拟 R + jX 关系和物理 LCL 电路保留的动态不同。需要复现精确控制方程与参数时,应使用源 Notebook。
降低 SCR,同时检查支路功率与总功率。观察到的相互作用只对应这里的电流源/电压源表示、共同基值和功率分配策略,不能推导为对所有 hybrid 架构的排名。
核心方程
I_g=I_c+\frac{U-V}{Z_f},\qquad V=V_g+Z_gI_gV=\frac{V_g+Z_g I_c+(Z_g/Z_f)U}{1+Z_g/Z_f}S_{PCC}=V(I_c+I_v)^*=S_c+S_v仿真实验
- 选择支路功率,比较 +0.03 pu 总阶跃期间的两个贡献。
- 检查事件时刻与最终时刻的支路功率之和是否等于总功率。
- 将 SCR 降至 2 再运行,描述哪个支路响应变化更明显。
实验室 · 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、直流动态或限流。
修改模型与复现实验
下方代码读取上方参数,但结果独立绘制。修改实验或展开模型源码,可检验自己的预测。下载实验可获得含参数、完整求解器和实验代码的单个 .py 文件;本地只需 Python 3。
case 是点击运行时的参数快照。调用 solve(case),将最终解赋给 result,即可绘制代码结果。
首次运行需联网下载 Python 环境。计算在浏览器内完成,求解器只用 Python 标准库。
准备运行。
输出将在这里显示。
Python 计算结果
查看并编辑模型源码(进阶)
源代码包含坐标变换、LCL、PLL、droop、VSM、共享 PCC 与显式模式重置。修改源码只影响下次 Python 实验;上方仿真实验继续使用原始教学方程。
检查理解
解释为什么两种模型层次需要分别解读。
继续学习:源仓库
本单元根据 PINN-IBR 本地材料整理(审阅日期 2026-10-03)。网页代码为单独编写的教学实现;以下路径对应完整模型、配置和研究案例。
Coding/Modeling/Single-IBR-Infinite-Bus/08_REGFM_C1_Hybrid_Infinite_Bus.ipynbResearch-Xirui-Zhang/Coding/xirui_low_frequency/model.py