雅可比矩阵构造是个技术活

张开发
2026/4/7 19:14:33 15 分钟阅读

分享文章

雅可比矩阵构造是个技术活
IEEE39节点系统10机39节点新英格兰39节点并网双馈风机DFIG可进行潮流计算风电并网短路故障分析等机电暂态分析发电机功角稳定分析最近在电力系统仿真圈子里老有人问怎么玩转IEEE39节点系统。这玩意儿确实经典十个同步机带着风电并网搞机电暂态分析特别带劲。今天咱们直接上干货拿Python和Matplotlib整点硬核操作。先搞个数据骨架。电力系统没参数就是耍流氓咱们用字典暴力搭建节点数据bus_data { 1: {type: SLACK, Vm: 1.05, Va: 0}, 30: {type: PV, Vm: 1.04, Pg: 200}, # 火力机组 39: {type: DFIG, Ws: 1.2, Pw: 150} # 双馈风机接入点 }看到没第39号节点专门留给双馈风机这里给的是标幺值。风机的异步特性处理要当心初始滑差设1.2是经验值具体得看机型参数。潮流计算直接暴力牛顿法走起def nr_power_flow(Ybus, Sbus, V0, max_iter10): for i in range(max_iter): mismatch V0 * np.conj(Ybus V0) - Sbus J np.vstack([ np.hstack([np.diag(V0) Ybus np.diag(Ybus V0), np.diag(1j*V0)]), ]) update np.linalg.solve(J, mismatch.flatten()) V0 update[:len(V0)] 1j*update[len(V0):] if np.max(np.abs(mismatch)) 1e-6: break return V0重点在雅可比矩阵的处理特别是双馈风机节点对应的位置。异步机的无功特性会导致雅可比矩阵某些区块出现明显变化这时候得调整PV/PQ节点类型转换策略。IEEE39节点系统10机39节点新英格兰39节点并网双馈风机DFIG可进行潮流计算风电并网短路故障分析等机电暂态分析发电机功角稳定分析短路分析整点刺激的在风机并网点怼个三相故障def apply_fault(Ybus, fault_node): Y_fault Ybus.copy() Y_fault[fault_node, fault_node] 1e6 # 加个超大导纳模拟金属接地 return calculate_fault_current(Y_fault, V_pre)这时候会看到双馈风机贡献的短路电流明显比同步机小但衰减特性不同。用RMS仿真抓个波形t np.linspace(0, 0.5, 1000) i_dfig 1.2 * np.exp(-t/0.1) * np.sin(2*np.pi*50*t) # 双馈风机短路电流特性 i_sync 5.0 * np.exp(-t/0.3) * np.sin(2*np.pi*50*t np.pi/4) plt.plot(t, i_dfig, labelDFIG) plt.plot(t, i_sync, labelSync)注意看双馈电流的衰减时间常数更小这是转子侧变流器限流控制的结果。要是用傅里叶分析还能看到谐波成分的差异。功角稳定分析得玩点动态的。把1号机当参考其他机组相对功角画出来angles np.array([gen.angle for gen in generators]) plt.plot(t_sim, angles - angles[0], linewidth1.5) plt.ylabel(Rotor Angle (rad)) plt.legend([G2,G3,...,DFIG])重点观察双馈机组那条曲线——因为通过电力电子设备并网它的功角响应和传统机组完全不同可能出现类似虚拟同步的振荡模式。某次仿真中遇到过这样的情况当系统惯量降低到临界值时DFIG的相位会出现持续的低频振荡这时候就得考虑附加阻尼控制了。搞这些分析最坑的是数据准备。建议先用Pandas整理设备参数branch_df pd.read_csv(ieee39_branch.csv, dtype{from_bus: int8, to_bus: int8}) branch_df[R] branch_df[R].astype(float32) # 节省内存特别是处理风机动态模型时参数精度直接影响稳定性。曾经有个bug是因为把0.0012输成0.012导致仿真结果出现诡异的发散振荡。最后提醒新人玩机电暂态仿真时别直接用潮流计算的稳态电压作为初值最好先做动态初始化。否则可能出现同步机扭矩突变的鬼畜现象别问我怎么知道的...

更多文章