拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

交直流混合潮流计算:统一法、交替法与最优因子法实践解析

交直流混合潮流计算:统一法、交替法与最优因子法实践解析

1. 交直流输电网潮流计算的整体图景

这几年新型电力系统建设一路推进,直流输电早就不是"西电东送"专属品了。柔性直流、背靠背直流、多端直流、交直流混合配网一个个落到工程里,潮流计算这个老行当也随之长出了新分支——交直流混合潮流。别小看这一步,从纯交流到交直流混合,不是简单改改节点类型就行,换流器那套强非线性方程掺进来,整个求解逻辑都要重新理顺。

我最早踩进这个坑,是被一个工程规划项目逼的:一条点对点直流与交流电网构成混合环网,得评估不同送受端方式下的断面潮流。用纯交流计算工具算,直流通道只能等效成固定功率,结果误差大得离谱,尤其在换流站周边节点电压敏感的场景下。后来老老实实把换流器方程补进潮流迭代里,结果才合理。现在主流做法分两大派:统一法(联合求解)和交替法(分离迭代)。两条路我都实际调试过,各自脾性摸得比较透,这篇就掰开揉碎讲清楚:统一法和交替法分别怎么实现、核心难点在哪、碰到不收敛怎么排查,以及最近常被提到的潮流计算最优因子法到底是什么来头。

先说清楚一个共识:交直流混合潮流要解决的,核心是换流器交直流两侧的电气量耦合关系。直流线路的潮流由直流节点电压和线路电阻决定,而直流节点电压又受换流器控制方式和交流母线电压影响。等于说,每台换流器都是一组强耦合的非线性代数方程,处理它的方式,决定了整个求解器的骨架长什么样。

2. 统一法的详细实现与工程调试

2.1 统一法的核心思路与方程架构

统一法,顾名思义,把交流节点和直流节点全部纳入同一个牛顿-拉夫逊框架里。纯交流潮流的雅可比矩阵,通常是对节点电压幅值和相角的偏导;交直流混联后,变量向量里除了交流节点电压幅值、相角,还要扩充直流节点电压、换流器控制变量(比如触发角、直流电流、直流功率),以及换流变压器变比之类的附加量。

我记得自己第一次搭矩阵时,很容易弄混的地方是:直流变量不是每条直流线路独立一套,而是每个换流器入口、每条直流节点对应一组方程。典型方程组有三类:

  • 交流母线功率平衡方程,这部分和纯交流潮流一致,但多了换流器从交流侧吸收的有功、无功项。
  • 换流器方程,涉及交流电压、直流电压、直流电流、功率因数角、触发角/熄弧角等。整流器和逆变器方程形式不对称,符号处理要小心。
  • 直流网络方程,即直流节点电压与直流电流、直流线路电阻之间的关系。

把这三组方程放到一起后,修正方程形式上是统一的大雅可比矩阵,形如:

左侧等于各节点不平衡量(有功偏差、无功偏差、直流方程偏差),右侧是修正矩阵与变量修正量的乘积。矩阵规模比纯交流版本大不少,但块结构清晰。

2.2 换流器详细模型的选取

换流器模型不能一概而论。现在工程上主要有两类:准稳态模型和详细电磁暂态模型。潮流计算里几乎都用准稳态模型,因为它忽略换相过程动态,只把换流器当成受控制方式约束的功率变换环节。

以最常见的LCC(电网换相换流器)为例,准稳态下整流侧满足:

  • 换流器直流电压等于一个理想空载电压(取决于交流电压和触发角)扣除换相压降;
  • 直流电流由直流网络约束;
  • 交流侧有功等于直流侧功率加上换流器损耗(通常用一个小的等效电阻近似);
  • 交流侧无功则取决于触发角或者说换流器运行在整流模式还是逆变模式,逆变侧时无功吸收尤其明显。

实际编码时这些公式不难写,难在量纲和符号。常见错误是逆变侧电流方向与整流侧符号处理不一致,导致收敛结果直接翻转或发散。我自己的习惯是:先在草稿纸上画一条单端直流线路的电流流向图,把所有电气量方向标一遍,再对照着写方程,能省掉大量调试时间。

2.3 统一法的雅可比矩阵组装技巧

矩阵组装是统一法实现里最劝退的一步。好在实际工程很少真的手工求偏导,主流做法是以下两种:

  1. 解析法:把方程组各个偏导表达式推导出来,直接赋值到雅可比矩阵相应位置。优点是一次成型、精度高;缺点是改模型时推导工作量大。
  2. 数值差分法:在每次迭代时用有限差分估算偏导数。实现极其简单,改模型成本低,但每次迭代计算量显著上升,大电网多节点规模下会慢很多。

我的建议是:研究阶段用数值差分快速验证算法,工程化阶段务必回归解析推导。因为统一法本身的雅可比矩阵就已经够大了,再叠一层数值差分,大规模系统的迭代时间会让人怀疑人生。

组装矩阵时还要注意节点的排列策略。交流节点排前面、直流节点排后面,能保持矩阵左上角的交流块相对完整,这样在需要退回纯交流计算时可以复用成熟的交流雅可比骨架。另外,换流器交流侧母线如果电压幅值由无功控制约束,这一行的处理方式和普通PQ节点不同,不要直接用固定无功偏差。

2.4 收敛判据与初值敏感性

统一法收敛判据一般有两个量纲:最大不平衡量(有功/无功功率偏差的绝对值)和最大变量修正量。工程上常用功率偏差小于1e-5 p.u.作为收敛门槛,但这个值在不同基准容量下感觉差异挺大,建议结合系统规模微调。

初值敏感性是统一法的老问题。由于换流器方程里含触发角、熄弧角等三角函数项,初值给不好很容易陷入不收敛,甚至直接振荡。常规做法是:直流变量初值用平启动方案给,即直流电压给定为额定直流电压附近,触发角按整流/逆变典型值(例如整流侧15度附近、逆变侧18度附近)起步;交流部分则沿用纯交流潮流的平启动。

另外一个直观但常被忽略的点:换流变压器变比作为变量时,初值应设在额定变比附近,不要随意放大缩小。变比偏差太大会让换流器方程支路功率与实际差距很大,雅可比矩阵相应节点上的修正量会剧烈波动。

3. 交替法从原理到实际跑通

3.1 交替法的核心理念:把问题切开

与统一法一门心思把所有变量焊在一个矩阵里不同,交替法选择"分而治之"。它的逻辑非常直白:交流系统算交流的,直流系统算直流的,两边通过换流器等效关系互相喂数据,直到两侧都收敛。

我第一次看交替法描述时觉得它是个"笨办法",因为两个求解器之间来回迭代本身就容易绕圈。但真实场景里它有不可替代的优势:可以复用成熟商业交流潮流内核,不用自己重新写交流雅可比求解器。对团队而言,改动小、风险低、上手快。

交替法对换流器的处理方式,是把每一个换流器的交流侧等效成一个PQ节点(少数场景下是PV或P指定、Q不等价),直流侧则形成独立的直流潮流方程组。每轮迭代的流程大致为:

  1. 以当前直流变量值为基础,计算各换流器交流侧的有功/无功注入;
  2. 将该注入带入交流潮流计算,得到换流器交流母线新电压幅值/相角;
  3. 以新交流电压回代换流器方程,重新计算直流网络各节点电压与电流;
  4. 对比前后两轮直流变量差异,若满足误差门槛则整体收敛,否则回到步骤2。

3.2 直流子系统解法与参数更新细节

直流部分单独求解时,规模通常不大,但网络拓扑可以很复杂,多端直流甚至直流电网里节点数也不在少数。对直流系统求解,我习惯用直流牛顿法:方程里只有直流电压和电流,维度低,计算速度快。若节点电压初值给得合理,三五次迭代就能收敛。

换流器控制模式的交替会直接影响参数更新方向。举个例子:整流侧采用定电流控制时,直流电流作为固定值注入直流网络;若换到定功率控制,则直流电流由功率和直流电压共同推导。迭代过程中,换流器有时会在不同控制模式间切换,这个逻辑一定要前置处理好。我在实际代码里是设置一个枚举类型,标志当前换流器的控制模式,每轮迭代根据约束状态判断是否需要切换,避免在一个时间常数里来回跳导致发散。

3.3 交替法的收敛特性、阻尼与振荡

交替法最让人头疼的是收敛震荡。尤其在交直流联系紧密、交流母线电压刚度较强的系统里,每轮交流计算把母线电压修正一点,直流功率马上变化,反过来又推回交流计算,形成正反馈,很容易在两个状态间反复震荡不收敛。

处理方法有几种实用套路:

  1. 在换流器注入功率上采用阻尼更新,即本轮注入值=松弛因子乘新计算值+(1-松弛因子)乘上一轮值。松弛因子经验范围0.4-0.8,视系统刚性调节。
  2. 换流器交流母线电压也做平滑,防止电压突变传导到直流网络。
  3. 设置软性的变量变化幅度限制,单次迭代内直流电流或触发角变化不能太大,超出则截断。

这里插一句,交替法收敛的前提是两侧求解器各自都收敛。很多初学者误以为只要两侧误差都在下降,整体就会收敛,实际不一定。我见过交流侧收敛到1e-6,直流侧也收敛到1e-6,但放到交替框架里因为两侧边界值更新互相推送错误状态,最终反而整体发散。判断交替法是否收敛,一定以接口变量在两轮间差值为准,别只看内部求解器报的收敛标志。

3.4 交替法适用场景盘点

交替法的最大价值在"工程可用性"和"复用性",它也有自己的舒适区:

  • 系统里直流节点数少,比如一两回点对点直流线路,交替迭代的接口变量少,收敛相对容易。
  • 已有成熟交流潮流内核,短期无法改动,但需要混入直流模型做研究。
  • 对计算速度要求不高,更看重开发周期和代码迁移成本。

但碰到直流节点多、控制模式复杂、交流直流强耦合的场景,交替法往往力不从心,此时统一法具备结构性优势。

4. 统一法与交替法的对比:怎么选更合适

4.1 两种方法的特性对比

这里整理一个常用的对比表,也是我给别人做技术说明时固定会放的:

对比维度统一法交替法
求解思想交直流统一构建雅可比矩阵交直流分别迭代交换边界信息
计算速度大矩阵整体求解,通常更快两套求解器轮换,可能较慢
实现复杂度高,需要推导和调试扩展矩阵低,复用现有交流潮流程序即可
收敛性对初值敏感,但一旦收敛通常稳定强耦合场景容易振荡,需阻尼处理
灵活性改模型要动核心矩阵,较麻烦换流器模型可独立替换,方便
规模适应性适合大系统、多直流节点适合少量直流节点的中规模系统

这个表是大方向,不能教条。实际工程里见过某些算例统一法反而比交替法慢,原因是统一法的雅可比矩阵条件数不好,迭代次数反而多。所以选型时,要结合电压等级、直流拓扑、控制方式、计算平台综合判断,不能只看方法的"名头"。

4.2 工程选型实用判据

我一般会按下面这套思路帮人选型:

先问三个问题:直流回路数多不多?交流直流耦合强不强?团队更看重开发效率还是计算效率?

  • 如果直流回路数小于等于二,且交流电网强,工程验证阶段用交替法完全够用,省力省心。
  • 如果直流回路数大于等于三,或者存在直流电网(多条直流线路互联成网),统一法更稳。
  • 如果团队交流潮流内核成熟但没有交直流版本,走交替法风险低。
  • 如果要求高精度复现换流器控制动态特性,并且系统规模不允许简化,统一法更值得投入。

说实话,现实项目里我也见过"交叉混用"的:先用交替法做大量工况初筛,把明显不收敛、越限的工况滤掉,再用统一法对重点关注断面精细计算。这种做法充分结合两者优点,从工程效率角度看是最优解之一。

5. 潮流计算最优因子法:一个值得关注的新进展

5.1 最优因子法到底是什么来头

最近圈子里"潮流计算最优因子法"这个说法热度上来了。它并不是交直流潮流的专属算法,更准确地说是对牛顿法迭代收敛性改进的一类策略。最早的概念可以追溯到上一代人做优化理论时对步长因子的最优选择研究,把它引入潮流计算是为了解决强非线性系统下牛顿法收敛半径小、容易发散的老毛病。

传统牛顿法每次迭代都固定用单位步长,理论上局部收敛快,实用中偶尔步子太大扯到"非线性",直接震荡出去了。最优因子法的思路是在修正方向上找一个最优步长因子,让每一步迭代后网损目标(或某个能量函数)下降最多,从而扩大收敛域。

放到交直流统一法的语境里,最优因子法对换流器方程那部分特别有用。因为换流器方程非线性强、变量多,迭代过程中修正量很大时,一次走满步容易越过真实解。引入最优步长后,整个求解过程的鲁棒性提升明显。

5.2 最优因子法的实现思路推演

在一个典型牛顿法迭代框架中,外推的变量修正量为:

ΔX = -J⁻¹·F(X)

传统做法是X_new = X_old + ΔX。最优因子法改为:

X_new = X_old + α·ΔX

其中α需要满足一个目标函数最小化条件。常见的目标函数选择是网损最小,但有时也会用所有不平衡量的加权平方和最小。目标函数确定后,一维搜索α比较简单,可以用黄金分割法或二次插值法,计算量也不大。

在交直流统一法里,我推演过它落地的最佳位置:在每次迭代解出ΔX后,先不动矩阵,只对α做一维搜索,再更新变量做下一轮。这样对矩阵组装逻辑改动很小,而收敛性提升能感知得到。有一种经验性做法是先用阻尼牛顿法跑几步,再用最优因子法微调步长,综合收敛速度和鲁棒性。

5.3 与统一法、交替法的结合前景

最优因子法本质上是一种"步长控制"增强技术,所以它既能搭配统一法,也能套到交替法的边界变量更新上。比如交替法里常见的阻尼松弛因子,传统是固定取0.5或0.6,如果升级为"每轮动态计算最优步长",那就不再依赖人工调参,理论上整体收敛性会稳定不少。

我自己在几个测试系统上做过类似试验:统一法搭配动态步长因子,收敛迭代次数相比固定步长约减少10%-30%,在重负荷场景下尤其明显。虽然最优因子法的计算本身会消耗少量时间,但和整体迭代次数减少节约的开销相比,性价比很高。

不过要提醒一句:最优因子法不是银弹。如果方程组本身奇异或者初值偏离太远,不管步长怎么选都救不回来。它优化的是"迭代路径",不是"方程可解性"。在实际工作中,我还是会先保证模型正确、初值合理,再考虑加不加这个增强因子。

6. 常见问题与排查技巧实录

6.1 换流器方程没有解:检查控制模式与约束冲突

这是我最常接到的求助类型。报错信息往往是"直流迭代发散"或"换流器变量越限"。排查思路先看控制模式的合理性:比如把逆变侧整定成定功率控制,但交流母线电压却撑不起对应的功率传输,方程直接无解。

具体排查时,我会按下面顺序处理:

  1. 检查换流器交流母线电压是否在合理范围,不在则调整交流系统求解器参数或换流变压器分接头。
  2. 检查直流线路电阻,有些工程建模时直流线路长度输错一位小数点,电阻大十倍,功率传输严重受阻。
  3. 检查控制目标值,定功率目标是否超过该换流器额定能力,超过则无解。

6.2 统一法矩阵奇异:检查变量编号与缺失方程

矩阵奇异通常是变量和方程一一对应关系出了问题。比如换流器控制变量定义了,但对应约束方程没加进方程组,雅可比矩阵就少了行。或者某个直流节点电压是独立变量,但直流网络方程漏写,导致该变量对应列无主元。

交叉验证的技巧:把换流器方程置零、变量固定为纯交流等效注入,看矩阵是否退化为标准交流雅可比。用这个方式可以快速定位是交流侧问题还是直流扩展部分问题。

6.3 交替法振荡:优先查接口量的平滑处理

交替法出现振荡时,先别怀疑交流求解器,因为交流流潮程序本身很强健,问题多半出在两侧接口数据的传递。处理优先级是:

  1. 先对换流器注入功率做一阶阻尼。
  2. 再对换流器交流母线电压做二阶平滑(即把上上轮值参与平均)。
  3. 若仍振荡,检查控制模式是否在边界附近反复切换,这是最常见隐藏原因。模式切换之间要加滞环逻辑,避免在临界点频繁跳变。

6.4 收敛效率太低:调整变量缩放与矩阵预处理

大系统统一法里,收敛井喷常见原因是变量尺度差异太大。直流电压动辄±800kV,交流电压标幺值只有1.0左右,未归一化时雅可比矩阵元素差异几个数量级,必然导致修正量不均衡。解决办法很粗暴但有效:直流侧全部使用标幺值系统,独立选定直流电压基准、功率基准,与交流侧基准分离又保持映射关系。我通常选直流电压基准等于额定直流电压,功率基准与交流侧一致,这样所有方程的目标量都落在0.6到1.5之间,矩阵条件数明显改善。

预处理方面,可以试试在每次迭代前对雅可比矩阵做简单的对角缩放,或者用块对角近似做预处理器,再用迭代法求解线性系统。实测下来,对数千节点规模的系统,这种组合能减少一半以上的迭代时间。

7. 一些实操心得与后续扩展方向

把统一法和交替法都实现过一轮后,我对"算法选择"这个问题的体会是:不要执念于哪个方法更高级,真正的问题是哪个方法能让你的工程快速、准确、稳定地交付结果。交替法像搭积木,方便改,容易补;统一法像浇筑一体成型框架,整体性好,但改动成本高。不同阶段、不同目标,选型不同。

如果后续想继续深入,我觉得有几个方向值得尝试:

第一个方向,把最优因子法做系统化落地,做一个自适应的步长控制模块,在统一法、交替法之间共用,形成一套对用户透明的收敛加速层。这件事的工程量不大,但收益稳定。

第二个方向,扩展换流器模型,比如把MMC的损耗特性、交直流侧谐波约束考虑进来,把潮流计算向电磁暂态方向靠。现有准稳态模型在弱交流系统下误差明显,高精度场景不够用。

第三个方向,也是我比较看好的,是引入人工智能辅助初值生成。利用历史工况和潮流解构建一个轻量级代理模型,预测当前工况下直流变量初值,再交给牛顿法精算。实测类似思路能显著缩小收敛失败率,尤其在换流器控制模式频繁切换的场景里,省去大量人工调初值的时间。

工具链方面,如果是从零开始做算法验证,我通常先用第三方库搭纯交流潮流骨架,再在其上叠加直流扩展模块。如果只是做工程校核,市面上的电力系统综合分析软件基本都支持交直流混合潮流,只是底层算法未必开放。我建议团队里至少要有人熟悉一种可编程实现的算法细节,否则遇到软件算不收敛又无法解释的情况会很被动。

最后再分享一个最朴素的建议:任何潮流计算程序,先在一个极简单测试系统上跑通,再往复杂系统上推。这个简单系统我固定用两机加直流线路,初值手动给定,基准结果手算可验。代码写完后先跑这个算例,确认无误再换IEEE标准测试系统。很多人在复杂系统里折腾两三天的问题,拉回到这个简单算例上一跑,立刻就能发现是符号方向错了还是控制模式逻辑漏了。

返回列表