logo资料库

电力系统潮流计算的算例.doc

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
实验目的
程序计算原理
1、概述
2、电力系统潮流计算的程序算法
1)形成节点导纳矩阵
(1)自导纳的形成
(2)互导纳的形成
(3)含变压器支路的处理
2)计算不平衡功率△P、△Q并形成修正方程式
3)利用因子表法求解修正方程
4)多次迭代最终求得V和以及全线路功率
程序及说明
1、主要变量说明
1)结构体类型说明
(1)节点功率结构体
(2)线路参数结构体
2)变量说明
3、程序流程图
4、程序代码
算例及结果
1、原始数据
1)网络连接图
2)节点参数
3)线路参数
4)数据文件data.txt
2、源数据格式说明
1)节点参数
(1)节点数Node
(2)功率和电压P/Q/V/Delta
(3)节点类型的判断
2)线路参数
(1)线路阻抗Z
(2)变压器支路
3、计算结果
4、输出数据说明
(1)节点参数表
(2)节点导纳矩阵
(3)潮流计算结果(节点)
(4)潮流计算结果(线路)
课设心得
参考文献
实验目的 根据所给的电力系统,编制潮流计算程序,通过计算机进行调试,最后完成一个切实可 行的电力系统计算应用程序。通过自己设计电力系统计算程序使同学对电力系统分析有进一 步理解,同时加强计算机实际应用能力的训练。 程序计算原理 1、概述 应用计算机进行电力系统计算,首先要掌握电力系统相应计算的数学模型;其次是运用 合理的计算方法;第三则是选择合适的计算机语言编制计算程序。 建立电力系统计算的相关数学模型,就是建立用于描述电力系统相应计算的有关参数间 的相互关系的数学方程式。该数学模型的建立往往要突出问题的主要方面,即考虑影响问题 的主要因素,而忽略一些次要因素,使数学模型既能正确地反映实际问题,又使计算不过于 复杂。 运用合理的计算方法,就是要求所选用的计算方法能快速准确地得出正确结果,同时还 应要求在解算过程中占用内存少,以利提高计算机的解题规模。 选择合适的语言编写程序,就是首先确定用什么计算机语言来编制程序;其次是作出计 算的流程图;第三根据流程图用选择的语言编写计算程序。然后上机调试,直到语法上无错 误。本程序采用 C 语言进行编程。 所编制的程序难免存在逻辑错误,因此先用一个已知结果的系统作为例题进行计算。用 程序计算的结果和已知结果相比较,如果结果相差甚远就要逐步分析程序的计算步骤,查出 问题的出处;如果结果比较接近,则逐步分析误差来源;直到结果正确为止。 2、电力系统潮流计算的程序算法 潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系 统的运行状态,如母线上的电压(幅值及相角)、网络中的功率分布及功率损耗等。 目前计算机潮流计算的方法主要有牛顿-拉夫逊算法和 PQ 分解法。牛顿-拉夫逊算法是 数学上求解非线形方程组的有效方法,具有较好的收敛性,曾经是潮流计算中应用比较普遍 的方法。PQ 快速分解法是从牛顿-拉夫逊算法演变而来的,是将纯数学的牛顿-拉夫逊算法 与电力系统具体特点相结合并进行简化与改进而得出的。PQ 快速分解法比牛顿-拉夫逊算法 大大提高了计算速度和节省了内存,故而本程序以 PQ 快速分解法进行潮流计算。 1)形成节点导纳矩阵 (1)自导纳的形成 对节点 i 其自导纳 Yii 是节点 i 以外的所有节点都接地时节点 i 对地的总导纳。显然,Yii 应等于与节点 i 相接的各支路导纳之和,即 Y ii  y i 0   j y ij 式中,yi0 为节点 i 与零电位节点之间的支路导纳;yij 为节点 i 与节点 j 之间的支路导纳。
(2)互导纳的形成 Y 对节点 i 与节点 k 之间的互导纳是节点 i、k 之间的支路导纳的负值,即 ik y  ik Y 不难理解 ki Y 。若节点 i 和 k 没有支路直接相连时,便有 Yik=0 ik (3)含变压器支路的处理 若节点 p、q 间接有变压器,如下图所示,则可作出其∏型等值电路为: 图 1 变压器∏型等值电路 则 p、q 的自导纳和节点间的互导纳分别为 1 kz 1 kz Y qp Y qq Y Y    pp pq   1 z 1 2 k z   1 k  kz 1 k  2 k z 1 kz   2)计算不平衡功率△P、△Q 并形成修正方程式 对每一个 PQ 节点或每一个 PV 节点都可以根据下列公式计算出有功功率增量△P  P P i is   P P V i i   is n  j 1  ( V G ij j cos  ij  B ij sin  ij )   ( i 1,2,  , n  1) 而对于每一个 PQ 节点还可以根据下面的公式计算出无功功率增量△Q Q Q Q Q V  i     is is i i n  j 1  ( V G ij j sin  ij  B ij cos  ij )   ( i 1,2,  , m ) 在有功功率增量和无功功率增量不满足如下约束条件时 max max (    P i ( Q  i k ) k    )  P  Q  利用 PQ 分解法则可以形成如下修正方程 1
      B 1, B 2,     B n  B 22    B n 1,2  1,1   B 11 B 21  B n          n 1  n 1  1,  n 1             1  P   1  V  1 P   2  V  2    P   n  V  1 n  Q   1  V  1 Q   2  V  2    Q   m  V  m V 1 V 2             V   n  1    1   2    n 1                   m     B  1, B  2,     B   m m  B 22  B m  ,2 m ,1 , B 11 B 21  B m                         V  1 V  2  V  m       3)利用因子表法求解修正方程 在电网计算中经常遇到这样的问题,对方程组需要反复多次求解,而每次求解仅改变常 数项 F,系数矩阵保持不变。按照一般的高斯消去法,对每一改变的常数项,形成包括常数 项及系数矩阵在内的增广矩阵,然后消去回代求出其解。可以看出,每次对增广矩阵中 A 矩阵元素的消元都是重复的,为了避免这种重复,我们把对相同的系数矩阵重复进行的消去 与对不同的常数项进行的消去分开进行,因此对系数矩阵的消去只需进行一次,并在消去的 过程中将对常数项进行消去运算的运算因子保存下来,形成所谓因子表,这就是因子表法。 因为因子表记录了高斯消去法对常数项进行消去的全部信息,利用它便可对不同常数项进行 消去,形成上三角矩阵,最后求出全部未知数。 在使用 PQ 分解法时,其系数矩阵是在迭代过程中保持不变的,所以为了节省内存和缩 短运算时间我们采取了因子表法。同时由于电网的节点导纳矩阵矩阵是稀疏阵和对称阵,于 是我们可以采取只保存系数矩阵的上三角阵来使运算更为简化。 若线性方程组一般形式如下: n n a a a a     11 12 13 1  a a a     22 23 2 a a    33 3     a  nn n                          x 1 x 2 x 3  x n                  2 f 1 f f 3  f n         其中 A 22 a a  12 11 a  a  13  a  23 a   a   1 a   2 a   33 3     a          n n n nn x x x  1 3  2 称为系数矩阵, X           2  称为未知数向量, x n T 
F    f 1 f 2  f 3  称为常数项向量。将矩阵 A 的元素进行如下处理: f T  n ) ( k a ij  ( k a ij 1)   ( k a ik 1)  ) ( k a kj   k ( 1,2,  , i 1;     k j 1, k  2,  , ) n  ( 1) i a ij ( ) i a ij   ( 1) i a ii 得到因子表    ( j i 1, i   2, , ) n U  n n U D U U     1 11 12 13 U D U     23 22 U D     3 33     D  nn 2 n                 ( i 其中 D ii  1  ( 1) i a ii , U ij  ( ) i a ij   ; j ) 再利用因子表进行前代过程,求出每次迭代后的常数项。其前代公式是: f ( ) i j  f  ( 1) i j  U f ij i ( 1) i  求得向量 F    f (1) 1  f (2) 2  f (3) 3   ( ) n n f T ; 再由因子表与前代得到的向量 F,得到方程组  2 n n n 12 U U U      13 1  U U     23  U   3                           x 1 x 2 x 3  x n                   (1) f 1 (2) f f (3) 2 3  ( ) n n f          求解出此方程即可得到线性方程组的解向量 X   x x x  1 3  2 4)多次迭代最终求得 V 和以及全线路功率 利用上面所介绍的方法求解修正方程组  。 x n T             P  1 V 1 P  2 V 2  P  n V n 1  1                   B 1, B 2,     B n  B 22    B n 1,2  1,1   B 11 B 21  B n          n 1  n 1  1,  n 1  V 1 V 2             V   n  1    1   2    n 1        3
           Q  1 V 1 Q  2 V 2  Q  m V m            m     B  1, B  2,     B   m m  B 22  B m  ,2 m ,1 , B 11 B 21  B m                         V  1 V  2  V  m       可以求得 V    V V    1 2 V V    3 m T  和        1 n       1 2 3   T  。 ) k (  i    P i (   i ( k ) max 其满足约束条件 再利用 (  i k 1)   k ) , V i ( k 1)   ( k ) V i  V   i ( k ) ( k ) 求得每次迭代后的结果。多次迭代当  Q 时,迭代结束。迭代结束后即可得  P 和 max Q  i 到各节点的 V 和,再根据 V、来计算 PV 节点的无功功率 Q 和平衡节点的功率以及网络 中的功率分布。 PV 节点及平衡节点无功功率计算公式为: P V i i  n  j 1  V G ij ( j 平衡节点有功功率计算公式为: Q V i  i n  j 1  V G ij ( j cos B ij ij  sin  ij ) sin B ij ij  cos  ij ) 以下图所标示的正方向,输电线路功率的计算公式如下: *  S ij  P ij  * jQ V I i  ij ij * V y i 2  ij 0 * *  V V V y i ij  ( ) i j  图 2 支路功率计算 对其进行实部虚部进行分解可得 P、Q 计算公式为: B ij sin ( P V G VV G ij ij j ) B Q ij ij cos  VV G  i ij  ij 2 ( V B i ij  i    ij ( i  2 0 j sin  ij  ij  ) B ij cos  ij ) 程序及说明 4
1、主要变量说明 1)结构体类型说明 (1)节点功率结构体 struct Nodetype { float P,Q; }; 其中,P 为节点的有功功率,Q 为无功功率。节点功率不区分负荷功率和发电机功率, 其值为本节点连接的各支路输入功率及节点所接负荷、发电机功率之和,且规定功率流入节 点为正,流出为负。详细说明参见下一章“算例及结果”的第二节“源数据格式说明”。 (2)线路参数结构体 struct Linetype { float G,B,B0,k; }; 其中,G、B 为线路的导纳和容纳;B0 为线路的考虑变压器Π型等值电路后的对地充电 容纳的一半 Bc/2;k 为折算到标准变压器支路后的变压器变比。详细说明参见下一章“算例 及结果”的第二节“源数据格式说明”。 2)变量说明 表 2 程序主要变量说明 主要变量 类型 Node NP NQ Num No V Dlta Y BP、BQ count eP、eQ kp、kq dP、dQ int int int int * struct Nodetype * float * float * struct Linetype ** float ** unsigned int const int float * 3、程序流程图 含义 系统总节点数 PV+PQ 节点数,即非平衡节点数 PQ 节点数 原始节点编号与程序表示编号映射数组 节点功率数组 节点电压有效值数组 节点电压相角数组 线路参数矩阵 有功、无功简化雅克比矩阵 B’、B” PQ 迭代次数 有功、无功迭代精度控制 有功、无功迭代结束标志 有功、无功不平衡量数组 5
开始 读取节点数据 读取线路数据并形成 Y 矩阵 形成矩阵 B’及 B’’并求取因子表 设定 PQ 节点电压初值及各节点电压相角的初值 迭代计算 计算平衡节点功率及全部线路功率 结束 图 3 程序主流程图 6
开始 Kp=1,Kq=1 Kp=0 且 Kq=0 Count++ Kp=0 计算△P,△P/N Kp=0 ? 求△δ δ+=△δ Kp=0 且 Kq=0 Kq=0 计算△Q、△Q/N Kq=0? 求△V V+=△V 图 4 迭代部分流程图 7 结束
分享到:
收藏