
1. 项目概述与核心痛点1.1 为什么要做多供区多交直流潮流先说说我做这个项目的初衷。近几年新型电力系统建设提速交直流混联已经成为电网发展的既定方向而多供区这个概念在传统潮流计算里其实一直存在只是一般被弱化处理了。常规的潮流计算软件比如PSASP、BPA、PSS/E在做大电网仿真时默认把整个网络看成一个平衡节点带一堆PQ节点和PV节点但这种简化在处理多供区问题时会出现明显偏差。打个比方传统潮流计算就像测算一个城市的用水量假设所有水管都从一个水厂出来但实际城市可能有东水厂、西水厂、南水厂三个供水源每个水厂的供水能力、压力、水质都不同相互之间还有联络管。你要精确算清楚整个管网的水流分布就必须把所有水厂都建模进去而不是拍脑袋指定一个主水厂。我这次做的工作就是把标准IEEE 39节点系统从单平衡节点改造成三供区多馈入交直流混联结构让潮流计算更贴近实际的多电源分区供电场景。1.2 这个项目能解决什么问题标准IEEE 39节点系统也就是常说的New England系统是一个10机39母线的经典测试系统在电力系统研究里的地位相当于化学里的元素周期表。它的问题在于系统只有一个松弛母线母线31其他发电机都按PV节点处理整个系统的功率平衡都压在那一台机上。这在教学演示和小规模仿真时够用但拿来研究多供区协调控制、交直流相互影响、多馈入短路比这类问题就不够用了。我做的改进版系统主要解决以下几个痛点将原系统划分为三个供区每个供区有独立的平衡节点和调频能力在两个供区之间接入直流输电线路形成交直流并联运行格局通过参数配置模拟不同的直流控制方式比如定功率控制和定电压控制针对多直流馈入场景补充了换流母线短路比分析所需的接口数据1.3 适用对象说明这篇博文适合谁看我觉得主要面向三类人一是电力系统专业的研究生正在做交直流混联电网相关课题但苦于找不到合适的算例系统二是刚接触潮流计算编程实现不管是Matlab、Python还是C的工程师想找一个比教科书例子更复杂的测试对象三是对IEEE标准系统比较熟悉、想扩展其功能做定制化改造的科研人员。我在整个项目实施过程中踩了不少坑单是把三供区协调和交直流迭代的精髓吃透就花了大量时间。下面把完整思路和实操过程写下来希望能帮你少走弯路。2. 体系架构设计与建模方案2.1 IEEE 39节点系统改造的整体思路首先必须明确一点IEEE 39节点系统是一个交流系统它本身不含直流线路。要研究多供区多交直流通潮流就必须对它做拓扑扩展。我采用的方案是在母线6和母线10之间添加一条双极直流线路然后把整个系统按地理位置和电气耦合强度划分为三个供区。划分供区不是拍脑袋我是根据原有线路的阻抗参数和功率传输路径来分的。母线30到38是发电机母线39是平衡母线。我的划分逻辑如下供区1以母线39为核心包含母线1到9、30到38的部分机组这个区域负荷密度高是系统的主要受电区供区2以母线10到13为核心包含新增的直流整流站负责向供区1输送功率供区3以母线14到29为核心包含剩余机组和负荷通过联络线与前两个供区互联这样划分后三个供区不再是简单的主从关系而是对等的功率交换关系每个供区都有自己的平衡能力。这和实际电网中省网之间、区域电网之间的功率交换模式非常接近。2.2 交流系统建模要点交流系统的潮流计算模型核心就是节点功率平衡方程。对每个节点i需要同时满足有功和无功平衡P_i V_i * Σ(V_j * (G_ij * cos(θ_ij) B_ij * sin(θ_ij))))Q_i V_i * Σ(V_j * (G_ij * sin(θ_ij) - B_ij * cos(θ_ij))))其中V和θ是节点电压的幅值和相角Y_ij G_ij jB_ij是节点导纳矩阵元素。在改造过程中我重点做了以下几件事重新整理支路参数原系统的线路参数单位是标幺值基准容量是100MVA这个保持不变但需要重新核对线路的充电电容因为新增直流线路后交流系统的无功分布会发生变化调整变压器变比原系统部分变压器带抽头改造后需要重新整定抽头位置尤其要注意母线6附近的变压器因为它离直流落点最近受直流无功消耗影响最大设置供区边界联络线供区之间的联络线需要单独标记出来方便后续做灵敏度分析和N-1校核2.3 直流系统建模与接口处理直流输电线路的稳态模型比交流线路复杂得多。我这里采用准稳态模型也就是假设换流器工作在工频正弦稳态直流线路的电磁暂态过程忽略不计只关心直流侧电压、电流和功率的稳态关系。直流系统主要包括换流变压器、换流器、平波电抗器、直流线路和对侧换流器。在潮流计算中通常把直流系统等值为换流母线上的注入功率而不需要显式地求解直流网络内部的节点方程。整流侧和逆变侧的基本方程如下整流侧V_dr (3√2/π) * N_r * T_r * V_acr * cos(α_r) - (3/π) * X_cr * N_r * I_d 逆变侧V_di (3√2/π) * N_i * T_i * V_aci * cos(γ_i) - (3/π) * X_ci * N_i * I_d其中V_dr、V_di是整流侧和逆变侧的直流电压T_r、T_i是换流变压器变比α_r是整流侧触发角γ_i是逆变侧熄弧角X_c和N分别是换流变压器漏抗和桥数I_d是直流电流。潮流计算中直流系统的未知量包括直流电压、直流电流、触发角、熄弧角、换流变压器变比等。控制方式不同已知量和未知量的组合也不同。我这次实现了两种控制模式定功率控制整流侧定功率逆变侧定熄弧角定电流控制整流侧定电流逆变侧定电压2.4 多供区平衡策略多供区系统的核心难点在于平衡节点的处理。传统单一平衡节点只有一个但多供区系统需要在每个供区设置一个或多个平衡节点。我采用的方法是分区平衡整体协调的策略在每个供区内设置一个主平衡节点承担该区内部的不平衡功率设置一个全局协调节点负责调整各供区之间的功率交换避免某个供区过度承担系统不平衡功率供区之间的联络线潮流作为协调变量通过迭代计算确定具体到IEEE 39节点系统我把母线39保留为全局协调节点同时在供区2和供区3中分别选择一台发电机作为本区的主平衡节点。这样做的好处是即便某个供区的负荷发生剧烈波动也主要由本区平衡节点吸收不会对整个系统的稳定性造成太大冲击。3. 多区域交直流潮流计算的数学方法3.1 算法选型与对比潮流计算的经典算法主要有三种高斯-赛德尔法、牛顿-拉夫逊法和快速解耦法PQ分解法。高斯-赛德尔法原理最简单但收敛性差尤其处理大型系统时经常不收敛我直接排除。快速解耦法计算速度快内存占用少适合大规模交流系统但在处理直流线路时需要进行额外的处理。牛顿-拉夫逊法收敛性好二阶收敛速度编程实现也不复杂但对初值敏感迭代矩阵可能需要重新形成。在本项目中我最终选择牛顿-拉夫逊法作为主求解器主要考虑是第一系统规模不大39节点加直流线路迭代一次的计算量完全可以接受第二交流-直流交替迭代时牛顿法对初值的偏差容忍度相对较好第三后续如果扩展做最优潮流牛顿法的雅可比矩阵可以直接复用。3.2 统一迭代法与交替迭代法的取舍多交直流潮流求解有两种典型思路统一迭代法和交替迭代法。统一迭代法把交流系统的节点功率平衡方程和直流系统的换流器方程合在一起形成一个统一的大规模非线性方程组然后一起求解。这种方法的优点是收敛性好没有接口误差但编程麻烦要处理大量的偏导数而且直流系统的变量类型多样有角度、电压、触发角、变比等格式不统一处理起来比较繁琐。交替迭代法则是把交流潮流和直流潮流分开求解通过换流母线这个接口变量进行数据交换。先求解直流系统得到换流母线注入功率带入交流系统再求解交流系统更新换流母线电压返回直流系统重新计算。如此反复迭代直到收敛。我选用交替迭代法原因很实际调试起来方便。模块化编程的思路交流部分和直流部分分别调试确认无误后再拼接起来联调。出问题的时候能快速定位是交流模块还是直流模块的锅。3.3 雅可比矩阵的修正与实现要点交替迭代法虽然实现简单但有个隐患在交流系统求解时如果不考虑直流功率对电压的依赖关系雅可比矩阵中缺少相关偏导数项可能导致迭代过程的收敛性变差。这是因为直流注入功率不是恒定的PQ节点功率而是电压的函数换流器消耗的无功与电压直接相关。为了解决这个问题我在迭代过程中保留了直流功率对换流母线电压的灵敏度信息。具体做法是每次交流迭代结束后利用直流方程组对换流母线电压求偏导得到修正量ΔP_dc和ΔQ_dc随电压变化的近似关系把这个关系叠加到雅可比矩阵对应的对角元上。dP_dc/dV_ac和dQ_dc/dV_ac的计算式为dP_dc/dV_ac 3√2/π * N * T * I_d * cos(α)整流侧 dQ_dc/dV_ac -P_dc * tan(φ) / V_ac - P_dc * cos(2φ) / (V_ac * sin(φ))近似式这个修正量虽然不大但对收敛速度的提升很明显。不加这个修正项时交替迭代通常需要15到20轮才能收敛加上之后基本6到8轮就收敛了。3.4 迭代收敛判据的设置收敛判据我用的是两个条件同时满足功率不平衡量最大值小于10的负8次方标幺值直流系统计算前后的电压偏差小于10的负6次方标幺值这两个条件不能只取一个。只检查交流功率不平衡量可能出现直流侧还没收敛但交流侧恰好平衡的情况只检查直流电压偏差交流侧可能还有较大的功率不平衡没消除。4. 编程实现与仿真验证4.1 开发环境与数据结构设计我选择用Python实现主要原因是生态好、调试方便、可视化简单。核心计算库用NumPy做矩阵运算结果分析用Pandas可视化用Matplotlib。如果追求更高的计算性能可以考虑把核心迭代循环用Numba加速或者直接用C/C重写但原型验证阶段Python完全够用。数据结构的组织上我设计了三个核心类Bus类存储节点编号、类型平衡/PV/PQ、电压幅值、相角、有功负荷、无功负荷、发电功率Line类存储支路编号、首末端节点、电阻、电抗、充电电容、变压器变比DcLine类存储直流线路编号、整流侧母线、逆变侧母线、额定电压、额定电流、额定功率、控制模式这样的面向对象设计在后期做场景扩展时非常方便。比如想新增一个直流线路只需要实例化一个DcLine对象然后把它挂载到对应的交流母线上。4.2 核心计算流程整个计算流程如下第一步读取网络参数构建节点导纳矩阵Y。注意这里要把直流线路的接口参数单独提取出来因为直流线路不直接进入交流导纳矩阵。第二步设定直流系统初值。初始触发角设为15度熄弧角设为18度直流电流设为额定值。这些初值的选取对后续迭代收敛很关键后面我会细说。第三步进入交替迭代主循环根据当前换流母线电压计算直流系统的运行状态计算换流母线注入功率P_dc和Q_dc把P_dc和Q_dc作为附加负荷加到换流母线上求解交流系统潮流牛顿-拉夫逊法更新换流母线电压检查收敛条件是否满足不满足则回到步骤1第四步收敛后输出结果各节点电压幅值相角、线路潮流、直流系统运行参数电压、电流、触发角/熄弧角、换流器损耗、系统总网损等。4.3 关键参数设置详解这里特别要说一下直流线路参数的选择。我参考了CIGRE HVDC Benchmark模型的参数按比例折算到IEEE 39节点系统的基准容量下额定直流电压500kV额定直流功率400MW直流线路电阻3.2Ω换流变压器漏抗0.18标幺值平波电抗器0.5968H这些参数不是随便拍的。直流输电的额定功率选择要考虑交流系统的承载能力——400MW相对于IEEE 39节点系统总负荷约6000MW来说占比适中既能体现直流对系统潮流分布的影响又不至于让交流系统过于依赖直流输电。换流变压器漏抗的选择很关键。漏抗大换流器的无功消耗就大会对系统电压产生更大影响漏抗太小则电流谐波抑制效果差。0.18这个值是比较折中的选择在实际工程中也比较常见。4.4 仿真结果与典型场景分析基础场景交流-直流并联运行母线6电压幅值0.9825相角-12.3度母线10电压幅值1.0102相角-4.8度直流传输功率398.7MW接近额定值线路损耗约0.3%整流侧触发角16.8度逆变侧熄弧角18.5度系统总网损从纯交流运行时的3.2%降到了2.7%说明直流输电确实降低了网络损耗单供区负荷增长场景我在供区3中按照5%的步长逐步增加母线21的负荷观察系统响应。发现直流线路功率基本保持不变定功率控制供区3的平衡节点功率持续增加直到负荷增加20%时该供区平衡节点的无功出力接近上限需要调整无功补偿装置才能维持系统电压稳定。直流闭锁故障场景模拟母线6端直流闭锁功率跌到0系统频率出现波动但得益于多供区的结构供区1的平衡节点快速补充了功率缺额。经过短暂的暂态过程后由于是稳态潮流只能看到故障后的运行点系统电压稳定在新的工作点母线6电压跌落到0.9513仍在允许范围内。4.5 与纯交流系统的对比验证为了验证改进系统的正确性我做了一个对照实验把直流线路停运只运行交流系统对比原版IEEE 39节点系统的潮流结果。对比结果显示母线电压幅值的最大偏差不超过0.008标幺值线路有功潮流的最大偏差不超过5MW。这个偏差主要来源于交流系统参数调整供区划分后变压器抽头位置变化和收敛精度设置。考虑到交流部分的改造这个结果是可以接受的。另外我特别检查了各供区的功率平衡关系供区1发电功率3000MW负荷2800MW通过联络线向供区2送电180MW向供区3送电20MW供区2发电功率1500MW负荷1200MW接受直流功率250MW直流功率一部分供本区负荷一部分通过联络线转送对外送电250MW供区3发电功率1400MW负荷1250MW通过联络线接受功率20MW本区平衡150MW三个供区的功率收支全部平衡验证了多供区划分的正确性。5. 实操中的坑与调参经验5.1 初值选取的敏感性牛顿-拉夫逊法对初值的要求虽然不如高斯-赛德尔那么苛刻但在多交直流场景下如果直流变量的初值偏离太远很容易导致交替迭代发散。我遇到的最典型的问题是逆变侧熄弧角初值。如果初值设得太小比如10度计算出的逆变器消耗无功会远大于预期换流母线电压被拉得很低导致潮流不收敛。后来我把初值调到18度使其接近稳态运行值收敛问题就解决了。经验是直流系统初值不能拍脑袋定最好先做一次粗略的直流功率估算用额定功率和额定电压反算直流电流推算出合理触发角和熄弧角的初值。5.2 换流变压器分接头调整策略在交替迭代过程中换流变压器分接头也就是有载调压开关如果设计成自动调整模式需要注意调整逻辑的稳定性。我的做法是只有在交流系统潮流收敛之后才检查换流母线电压是否在限制范围内如果超出范围才调整分接头位置然后重新计算直流系统和交流系统。有几次我图省事在交流系统还没收敛时就提前调整分接头结果导致迭代过程震荡反复在几个分接头挡位之间跳变花了老半天才定位到这个问题。5.3 直流线路电阻对收敛性的影响直流线路电阻对交替迭代收敛性的影响可能很多人没注意到。我做过一个测试在其他参数不变的情况下把直流线路电阻从3.2Ω逐步增加到10Ω观察交替迭代的收敛情况。测试结果3.2Ω时6轮收敛5Ω时7轮收敛8Ω时11轮收敛10Ω时不收敛迭代过程出现震荡原因分析电阻增大导致直流电压降增大直流电流对换流母线电压的灵敏度增强这放大了交直流接口的耦合效应使交替迭代的固定点迭代性质变差。在实际项目中碰到这种情况建议改用统一迭代法或者对接口变量做松弛处理。5.4 无功功率补偿的必要性直流换流站消耗的无功功率相当可观。在额定工况下整流侧和逆变侧各消耗无功约120Mvar约为直流额定功率的30%。这部分无功如果全部由交流系统提供会显著降低换流母线的静态电压稳定裕度。我的建议是在换流母线处配置无功补偿装置。这个项目中我在母线6和母线10各配置了一组容量为100Mvar的并联电容器组。在仿真测试中补偿后换流母线的电压波动范围从平均±3%缩小到了±1.2%以内效果非常明显。5.5 常见问题速查表问题现象可能原因排查方法解决方案交替迭代不收敛直流初值设置不合理检查触发角/熄弧角初值根据额定功率反算合理初值换流母线电压过低无功补偿不足查看换流器无功消耗量增加并联电容器或调低直流功率直流功率不等于设定值定功率控制参数错误检查电流调节器设定值核对额定电压和电流基准值供区间联络线功率失衡平衡节点分配不当检查各供区功率供需调整平衡节点位置或增减机组出力迭代收敛但结果明显错误数据结构赋值错误检查节点编号是否对应正确母线对照原始系统参数表逐一核对6. 进阶方向探讨6.1 从稳态潮流到动态仿真延伸这个改进系统的价值不只在潮流计算。我做完稳态潮流之后就开始把它往机电暂态方向扩展。思路是在模型中加入发电机动态方程转子运动方程、励磁系统模型、调速器模型把潮流计算结果作为暂态仿真的初值模拟直流闭锁、三相短路等扰动下系统的动态响应特性。这和单纯做潮流计算相比难度会上一个台阶。因为直流系统的动态模型比稳态模型复杂太多需要考虑换流器的触发控制策略、直流线路的电磁暂态过程通常用微分方程描述、换流站与交流系统的相互作用等。但好处是它能回答稳态潮流回答不了的问题比如系统在多大扰动下会失稳、需要配置什么样的安全稳定控制措施。6.2 多直流馈入系统扩展当前的改进系统只有一条直流线路要研究多馈入直流系统的特性可以在这个基础上继续扩展。比如在母线16附近再加一条直流线路与现有的直流线路形成双馈入结构可以分析多直流间的相互作用因子MIIF、有效短路比ESCR等指标。多馈入场景下有个很实际的问题如果一条直流发生换相失败可能引发相邻直流同时换相失败连锁故障。通过这个改进系统可以方便地模拟这类场景研究换相失败抑制策略的有效性。6.3 与人工智能算法的结合我自己也在尝试把机器学习算法用在这个系统上。比如用深度神经网络拟合交直流潮流计算的映射关系代替传统的迭代求解过程。因为深度学习本质上是在做函数逼近而潮流计算本质上就是求解一组非线性方程两者有很好的契合点。具体方案是把网络拓扑参数和负荷水平作为输入特征把潮流结果作为输出标签用大量样本训练神经网络。虽然目前收敛性和精确度还不能和传统方法比但在需要秒级响应的在线安全分析场景中这种思路值得探索。7. 总结IEEE 39节点系统是一个很好的研究平台但原始版本已经不能满足多供区多交直流潮流计算的需要。通过在原有交流系统上扩展直流输电线路、划分多个供区、设计协调平衡策略我构建了一个更适合研究交直流混联电网特性的改进算例系统。整个项目实施过程中最深的体会是细节决定成败初值选取、收敛判据设置、雅可比矩阵修正、无功补偿配置任何一个环节处理不当都可能导致仿真结果失真或迭代发散。把这些细节吃透了你就能把任何标准测试系统改造成符合自己研究需求的仿真平台。希望这份实践经验对你有用。如果你在复现过程中遇到其他问题欢迎随时一起讨论。