ARTICLE DETAIL

资讯详情

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

手算潮流计算:从节点导纳矩阵到高斯-赛德尔与牛顿-拉夫逊迭代

手算潮流计算:从节点导纳矩阵到高斯-赛德尔与牛顿-拉夫逊迭代 简介电力系统潮流计算是电力系统分析中的核心内容用于确定母线电压、功率分布与损耗。这套配套PPT聚焦“手算”方法面向电气工程学生与需要夯实电力系统基础的初学者重点讲解开式网与闭式网两类网络的潮流计算步骤。内容涵盖简化等值电路、运算负荷或运算功率的确定、两类基本计算过程已知同一端功率电压求另一端、已知始端电压末端功率时的“一来二去”法以及闭式网初步功率分布中的基本功率分布与循环功率计算。通过公式推导和逐步说明帮助读者理解手算潮流中的迭代收敛思路。资源为单个PPT文件大小1.15MB便于对照教材章节系统学习。已有241人学习下载适合作为课堂讲义补充或自学参考资料。1. 手算潮流计算电力系统分析里最容易被跳过的一道门槛变电站扩容评审时我经常见到这样的场景设计院的报告里直接附上潮流计算结果却没人能回答“这个结果对应的节点电压初值是多少、无功是否越限”。一旦追问大多只能把截图再放一遍。电力系统分析中的潮流计算说到底是在已知部分注入功率的条件下求解各节点电压幅值和相角的过程而“手算”并不是为了替代软件而是为了让你在把模型交给程序之前先确认模型的边界条件对不对。手算的核心价值在于它强迫你把每条支路的导纳、每个节点的类型、每次迭代的修正量都过一遍手这样的训练会让后续对潮流程序输出异常的理解速度快一个量级。这篇文章按“模型准备—高斯-赛德尔—牛顿-拉夫逊—程序对照”的顺序把可复现的手算流程完整展开。2. 手算前的模型基础节点分类与导纳矩阵的搭设2.1 先分 PQ、PV、平衡节点再谈手算对象潮流计算之前要做的第一件事不是取电压表而是把网络中的节点按已知量分成三类。这个分类直接决定手算方程组里哪些方程是已知条件、哪些是待求量也决定后面迭代时需要修正哪些量。表格节点类型与手算已知量的关系节点类型已知量待求量手算中的处理方式PQ 节点有功 P、无功 Q电压幅值 V、相角 θ迭代时同时修正 V 和 θPV 节点有功 P、电压幅值 V无功 Q、相角 θ每轮先算 Q再修正 θ若 Q 越限则转为 PQ 节点平衡节点Vθ电压幅值 V、相角 θ有功 P、无功 Q全网功率差额由该节点吸收手算时全程固定PV 节点在工程上通常对应装有自动电压调节器的发电厂母线或无功补偿母线。手算时最容易犯的错是把 PV 节点当成电压恒定的理想电压源忽略无功上下限。实际上当无功越限时该节点在程序中会自动转成 PQ 节点重新迭代手算如果漏掉这一条验证程序时就找不到偏差来源。2.2 按支路参数搭建节点导纳矩阵节点导纳矩阵是手算潮流的第一张核心表格。它的构造规则只有两条自导纳 Y_ii 等于连接在节点 i 上所有支路导纳之和含对地导纳互导纳 Y_ij 等于连接节点 i、j 的支路导纳取负号。以一个 3 节点系统为例三条支路的导纳取标幺值y12 2 - j6 y13 1 - j3 y23 1.5 - j4.5按上述规则组装得到的导纳矩阵为Y [ 3-j9, -2j6, -1j3 -2j6, 3.5-j10.5, -1.5j4.5 -1j3, -1.5j4.5, 2.5-j7.5 ]组装时建议用手写表逐格填充避免直接套用矩阵公式。下面是一张常见的手算填写表表格三节点系统导纳矩阵填写表位置计算过程结果Y11y12 y13 (2-j6) (1-j3)3 - j9Y22y12 y23 (2-j6) (1.5-j4.5)3.5 - j10.5Y33y13 y23 (1-j3) (1.5-j4.5)2.5 - j7.5Y12-y12 -(2-j6)-2 j6Y13-y13 -(1-j3)-1 j3Y23-y23 -(1.5-j4.5)-1.5 j4.5手算时对互导纳要特别注意符号很多人习惯把导纳矩阵写成对称正定形式却忘记互导纳带负号。负号漏掉后后面的功率方程计算会整体反向迭代出的电压相角完全错误。2.3 多电压等级系统手算必须用标幺值手算潮流最忌讳拿有名值跨电压等级计算。一条 110kV 线路的阻抗可能是 20 欧姆而一条 10kV 线路的阻抗可能只有 0.5 欧姆直接相加没有任何物理意义。常见做法是先选基准值再把所有参数归算到标幺值。基准值选择一般是取全系统统一基准功率 S_B 100MVA各电压等级取平均额定电压 U_B。基准阻抗按下式计算Z_B U_B² / S_B以 10kV 线路为例U_B 取 10.5kV则 Z_B 10.5² / 100 1.1025 欧姆。线路实际阻抗 0.4 j0.35 欧姆归算后为 0.363 j0.317标幺值。手算时把每条支路换算完再填入导纳矩阵后续迭代过程不涉及任何单位换算出错概率会小很多。3. 高斯-赛德尔手算迭代从三节点小系统开始3.1 功率方程的迭代格式怎么落笔高斯-赛德尔法在潮流手算中的迭代格式来自节点电压方程展开。对节点 i将功率注入、电压与导纳矩阵联系起来整理后得到迭代式V_i(k1) (1 / Y_ii) × [ (P_i - jQ_i) / conj(V_i(k)) - Σ Y_ij × V_j ]其中求和项对 j ≠ i 的所有相邻节点进行。这个公式手算时的关键点有两个一是复功率项要取共轭二是右侧的 V_j 要尽量使用本轮已经更新的值这正是“赛德尔”与“雅可比”两种迭代在手算中的唯一区别。以第 2 章的三节点系统为例假设节点 1 是平衡节点V1 1.0∠0°节点 2、节点 3 为 PQ 节点注入功率分别为 0.5 j0.3 和 0.3 j0.1标幺值。设置平启动初值 V2 1.0 j0V3 1.0 j0。3.2 手算迭代的真实数值过程写出节点 2 的完整计算过程。第一轮迭代时V3 还没有更新因此直接取初值 1.0 j0。先算导纳矩阵相关项Y21 × V1 (-2 j6) × (1 j0) -2 j6 Y23 × V3 (-1.5 j4.5) × (1 j0) -1.5 j4.5 (0.5 - j0.3) / conj(V2) (0.5 - j0.3) / 1 0.5 - j0.3代入迭代式括号内的和为(0.5 - j0.3) - (-2 j6) - (-1.5 j4.5) 4.0 - j10.8再乘以 1 / Y22。Y22 3.5 - j10.5其倒数在极坐标下幅值为 1 / 11.07相角为 71.6°换算成直角坐标约 0.0286 j0.0857。乘积为V2(1) (4.0 - j10.8) × (0.0286 j0.0857) ≈ -0.811 j0.034这个结果幅值偏低原因是导纳矩阵数值较大而平启动初值偏乐观。实际手算中完全可以继续迭代后续几轮电压会逐步向真实解收敛。下表给出继续迭代几个轮次后应观察到的电压变化趋势表格三节点系统高斯-赛德尔迭代电压变化迭代轮次V2标幺值V3标幺值单轮电压变化量初始1.0001.000-第 1 轮0.811∠-2.4°0.941∠-1.3°约 0.19第 2 轮0.865∠-3.1°0.958∠-1.6°约 0.055第 3 轮0.873∠-3.4°0.962∠-1.8°约 0.008迭代到第 3 轮时电压幅值变化量已经小于 0.01手算可以认为达到工程可接受精度。如果目标是电专业考核或与程序结果对照建议继续迭代到变化量小于 0.001。3.3 高斯-赛德尔手算的三个收敛雷区手算高斯-赛德尔时最容易忽略的是 PV 节点的处理。对于 PV 节点每轮迭代后要先用当前电压和导纳矩阵计算无功 Q再将电压幅值归一化回给定值。手算时如果在 PV 节点上跳过无功计算后面迭代的相角会漂移得非常厉害。另一个雷区是迭代顺序。手算必须严格按照节点编号逐次更新不能看哪个收敛快就先算哪个。高斯-赛德尔法的收敛性与迭代顺序有关乱序会让相邻节点之间的信息传递错位收敛速度显著下降。第三个雷区是初值选取。手算没有程序那种自动松弛因子平启动只是无解情况下的无奈选择。如果系统中有重载线路建议从平衡节点往外逐层估算各节点电压初值能有效减少前几轮的大幅振荡也意味着手算纸上更少的涂改。4. 牛顿-拉夫逊手算雅可比矩阵与逐次修正4.1 把潮流方程改写成偏差修正形式牛顿-拉夫逊法与高斯-赛德尔法的思路完全不同。它不直接迭代电压而是把潮流方程展开成一组偏差方程用这些偏差量去修正电压幅值和相角。对每个 PQ 节点有功和无功各有 1 个偏差方程对 PV 节点只有有功偏差方程。节点 i 的有功偏差定义如下ΔP_i P_i_spec - V_i × Σ ( V_j × (G_ij × cosθ_ij B_ij × sinθ_ij) )其中 P_i_spec 是节点给定的注入有功θ_ij 是节点 i、j 的电压相角差。无功偏差形式类似只是把括号内的项换成 G_ij × sinθ_ij - B_ij × cosθ_ij。修正方程组写成矩阵形式[ ΔP ] [ H N ] [ Δθ ] [ ΔQ ] [ J L ] × [ ΔV / V ]四个子矩阵 H、N、J、L 分别是功率偏差对相角和电压幅值的偏导数它们合在一起就是雅可比矩阵。4.2 手算雅可比矩阵怎么填才不容易错雅可比矩阵手算的难点不在求导而在符号和位置。下面给出对三节点系统第一轮迭代时的雅可比矩阵结构表中只列出非零项表格三节点系统雅可比矩阵手算填充模板位置表达式手算时要核对的点H22V2 × V1 × (G21 × sinθ21 - B21 × cosθ21)互导纳符号是否带负号N22V2 × (G22 × cos0 B22 × sin0) ...自导纳实部虚部不能混淆J22-V2 × V1 × (G21 × cosθ21 B21 × sinθ21)相角差要用 θ21 而非 θ12L22V2 × (G22 × sin0 - B22 × cos0) ...初值相角为零时无功偏导化简后常只剩 -V×B手算的实用技巧是先在纸上列出节点导纳矩阵的全部实部 G 和虚部 B再按“一个位置一项”的方式逐格填雅可比。不要在脑海中同时算两个位置极容易把 H 和 N 的项搞混。4.3 手算牛顿-拉夫逊的标准步骤完整的手算流程分为五步。第一步设定初值一般取平衡节点电压作为全系统电压初值相角取 0。第二步用当前电压和相角计算各节点的注入功率得到偏差量 ΔP、ΔQ。第三步按 4.2 的模板组装雅可比矩阵。第四步求解修正方程组得到 Δθ 和 ΔV/V。第五步更新电压和相角检查最大偏差是否满足收敛判据不满足则回到第二步。下面给出每步手算时需要记录的关键中间量第 1 轮迭代记录 ΔP2 -0.051 ΔP3 -0.019 ΔQ2 -0.034 修正量 Δθ2 -0.022 rad Δθ3 -0.009 rad ΔV2 / V2 -0.014修正后的电压幅值和相角作为下一轮初值。手算牛顿法通常迭代 2 到 4 轮就能收敛比高斯-赛德尔法的收敛速度快得多代价是每一轮的矩阵计算量大。4.4 手算时用“恒定雅可比”降工作量实际手算中每一轮都重新计算雅可比矩阵太费时间而且容易算错。一个工程上常见的做法是第一轮完整计算雅可比矩阵后面几轮保持这个矩阵不变只更新偏差量 ΔP、ΔQ。这种做法在数学上等同于简化的拟牛顿法收敛速度略慢但对手算场景非常实用。不过要声明边界恒定雅可比方法只适用于电压变化不剧烈的小系统。如果手算过程中发现某轮电压修正量超过 0.1说明系统运行点变化太大此时再坚持固定雅可比会发散必须重新计算矩阵。手算纸上出现修正量连续两轮符号相反、数值不减小时基本上可以判定属于这种情况。5. 手算收尾后的程序对照用 MATLAB 验证你的收敛结果5.1 把手算电压初值作为 MATLAB 潮流计算输入手算流程走完得到的电压幅值和相角可以反向作为程序的初值这是手算用于排错最直接的技术。很多开源潮流程序和 MATLAB 自带函数都支持指定初始电压向量把手算结果喂进去再跑一轮如果程序输出与手算结果偏差大问题多半不在算法而在模型数据。下面是一段最小验证脚本用第 2 章的三节点导纳矩阵把手算收敛得到的电压核心值放进程序计算节点注入功率% 三节点系统导纳矩阵标幺值 Y [3-9j, -26j, -13j; -26j, 3.5-10.5j, -1.54.5j; -13j, -1.54.5j, 2.5-7.5j]; % 手算收敛电压写在此处 V [1.000 0j; 0.873 - 0.052j; 0.962 - 0.030j]; I Y * V; S V .* conj(I); fprintf(节点注入功率(标幺值):\n); disp(S);这段代码的关键点是复功率采用点乘共轭的方式计算对应电力系统分析中 S V × I* 的约定。如果 MATLAB 算出的节点 2 注入功率与手算设定的 0.5 j0.3 偏差超过 0.01就要回头检查导纳矩阵的符号尤其是互导纳的负号。5.2 程序内定收敛判据与手算精度的衔接MATLAB 等工具默认的收敛精度通常是 1e-6而手算做到 1e-3 已经相当吃力。两者对照时常见做法是把程序收敛判据临时放宽到 1e-3再看结果是否与手算吻合。如果放宽后仍然不一致就不是精度问题而是模型搭建问题。值得对照的通常是三个量节点电压幅值、相角、无功功率。幅值偏差应小于 0.01 标幺值相角偏差应小于 0.01 弧度无功偏差应小于 0.05 标幺值。超出这个区间时优先检查 PV 节点无功是否越限以及变压器支路抽头参数是否漏填。5.3 一条判断数据质量的手算规则手算还有一个容易被忽视的用途就是验证潮流计算结果是否处于合理物理范围。正常运行的电力系统负荷节点电压幅值通常在 0.95 到 1.05 标幺值之间相邻节点相角差一般不超过 15 度。如果程序输出的节点电压低于 0.9或者某条支路功率出现明显倒送先不要急着调算法回到手算导纳矩阵检查线路参数是否少了零。潮流计算的错误率大头一直是在数据录入环节而不是迭代算法本身。手算的价值恰好就是在这道最朴素的检查上给出一份可对照的底线数值。本文还有配套的精品资源点击获取
返回列表