发明名称 一种大规模电网潮流修正方程并行求解方法
摘要 本发明提供一种大规模电网潮流修正方程并行求解方法,根据因子表求解线性程方程运算过程的特点及潮流修正方程系数矩阵的稀疏性,将可以同时进行规格化的行分组,并行完成规格化运算和消去运算,同时,利用求因子表过程中得到的行分组信息,完成并行前代运算,从而提高大规模电网潮流求解效率,满足电网调度员潮流、安全分析、AVC等在线分析应用对潮流计算的实时性要求,便于调度员更快发现电网运行的潜在风险,从而保障电网的安全稳定运行。
申请公布号 CN104158182B 申请公布日期 2016.09.28
申请号 CN201410405872.6 申请日期 2014.08.18
申请人 国家电网公司;中国电力科学研究院;国网冀北电力有限公司 发明人 李静;罗雅迪;徐杰;贾育培;郎燕生;郭子明;邹昱;施贵荣;窦成龙;张浩;陈利杰;王磊;王淼;王少芳
分类号 H02J3/00(2006.01)I 主分类号 H02J3/00(2006.01)I
代理机构 北京安博达知识产权代理有限公司 11271 代理人 徐国文
主权项 一种大规模电网潮流修正方程并行求解方法,其特征在于:所述方法包括以下步骤:步骤1:稀疏矩阵存储;步骤2:并行因子分解生成因子表;步骤3:进行并行前代运算;步骤4:回代运算;步骤5:潮流迭代运算;所述步骤1中,在P‑Q分解法的电网潮流修正方程并行求解过程中完成节点导纳矩阵、修正方程系数矩阵B′和B″,以及B′和B″因子分解后生成的因子表的存储;修正方程系数矩阵B′和B″均为稀疏矩阵;采用P‑Q分解法的电网潮流修正方程表示为:ΔP/U=‑B′UΔθ   (1)ΔQ/U=‑B″ΔU         (2)其中,ΔP为计算节点有功修正量矢量,ΔQ为计算节点无功修正量矢量,Δθ为相角修正量矢量,ΔU为电压修正量矢量,U为节点电压幅值,θ为节点电压相角,P为节点注入有功功率,Q为节点注入无功功率,稀疏矩阵B′元素为对应支路电抗倒数取负,稀疏矩阵B″元素为对应节点导纳矩阵虚部,i、j为节点编号;所述步骤3包括以下步骤:步骤3‑1:根据潮流有功残差方程和潮流无功残差方程计算可得有功修正量矢量ΔP和无功修正量矢量ΔQ;潮流有功残差方程和潮流无功残差方程分别表示为:<maths num="0001"><math><![CDATA[<mrow><msub><mi>&Delta;P</mi><mi>i</mi></msub><mo>=</mo><msub><mi>P</mi><mi>i</mi></msub><mo>-</mo><msub><mi>U</mi><mi>i</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>=</mo><mi>n</mi></mrow></munderover><msub><mi>U</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>G</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>cos&theta;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>B</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>sin&theta;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000981511320000011.GIF" wi="1437" he="135" /></maths><maths num="0002"><math><![CDATA[<mrow><msub><mi>&Delta;Q</mi><mi>i</mi></msub><mo>=</mo><msub><mi>Q</mi><mi>i</mi></msub><mo>-</mo><msub><mi>U</mi><mi>i</mi></msub><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>=</mo><mi>n</mi></mrow></munderover><msub><mi>U</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>G</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>sin&theta;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>B</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>cos&theta;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000981511320000012.GIF" wi="1454" he="135" /></maths>其中,ΔP<sub>i</sub>为节点i有功修正量,ΔQ<sub>i</sub>为节点i无功修正量;U<sub>i</sub>和U<sub>j</sub>分别为节点i和j电压幅值;θ<sub>ij</sub>为节点i和j的相位差即θ<sub>ij</sub>=θ<sub>i</sub>‑θ<sub>j</sub>;P<sub>i</sub>为节点i注入有功功率,Q<sub>i</sub>为节点i注入无功功率;G<sub>ij</sub>为节点导纳矩阵实部,B<sub>ij</sub>为节点导纳矩阵虚部;步骤3‑2:将独立矢量z赋值到工作矢量x中,指定进程数N;独立矢量z表示方程组(1)、(2)的常数项ΔP/U和ΔQ/U,工作矢量x表示方程组(1)、(2)的待求项Δθ和ΔU;步骤3‑3:初始化被消去次数m=0;步骤3‑4:取数组vec_muster[m]中的行,若行数大于进程数N则分成N组,否则不分组,进行并行前代消去运算,被消去次数m=m+1;步骤3‑5:前代计算从小号节点到大号节点依次进行,利用因子表上三角参与并行前代消去运算,若上三角第i行,第k列元素为非零元素,0~(i‑1)行已完成并行前代消去运算,则x<sub>k</sub>=x<sub>k</sub>‑b<sub>ik</sub>x<sub>i</sub>,其中x<sub>k</sub>、x<sub>i</sub>分别表示工作矢量的x的第k、i个元素,b<sub>ik</sub>表示稀疏矩阵B′和B″的第i行、第k列元素;前代的消去过程和生成因子表的消去过程一致,利用vector&lt;vector&lt;int&gt;&gt;vec_muster中的行分组信息进行并行前代消去运算;步骤3‑6:被消去次数m=m+1,判断被消去次数是否等于最大消去次数,若相等则前代消去运算结束,若小于则返回步骤3‑4继续进行并行前代消去运算;步骤3‑7:前代规格化运算;工作矢量x的第i个元素x<sub>i</sub>=x<sub>i</sub>/b<sub>ii</sub>,前代规格化运算用编译指导语句#pragma omp parallel for完成for循环的前代规格化运算,即根据CPU最大并行处理线程数前代规格化运算。
地址 100031 北京市西城区西长安街86号