电力系统分析OB欧宝doc 22页

 新闻资讯     |      2022-08-12 15:03

OB欧宝武汉理工大学《电力系统分析》课程设计说明书PAGE PAGE 2高斯-赛德尔法求节点电压1.设计目标 在已知的节点导纳矩阵下,告诉部分节点类型及数据,要通过高斯-赛德尔法求出未知的节点电压,通过分析,找到要掌握的问题有以下几点:高斯-赛德尔法到底是什么,通过手算还是软件。 在明白了这些问题后有了大致的方向,我打算通过上网、去图书馆查找相关书籍找相关知识、准备相关软件。2.设计原理2.1 高斯-赛德尔迭代法要掌握著名德国数学家高斯和数学家赛德尔研究出的这种非线性代数方程组的迭代解法,还需要学习德国数学家雅可比研究出的雅可比迭代法,其推导过程如下;设线性方程组(1) 的系数矩阵A可逆且主对角线元素均不为零,令并将A分解成(2)从而(1)可写成令其中 以为迭代矩阵的迭代法(公式)(4) 称为雅可比迭代法,用向量的分量来表示,(4)为其中为初始向量.由雅可比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i个分量时,已经计算出的最新分量,…, 没有被利用,从直观的角度看,最新的分量可能比旧的分量要好些,因此,对这些最新计算出来的第K+1次近似的分量加以利用电力系统节点导纳矩阵,就得到所谓解方程组的高斯赛德尔迭代法。

具体如下:把矩阵A分解成(6)其中,,分别为A 的主对角元除外的下三角和上三角部分,于是,方程组(1)便可写成 即其中,(7)以为迭代矩阵构成的迭代法(公式) 称为高斯-赛德尔迭代法,用向量表示的形式为收敛判据:复数模型: QUOTE 实数模型: QUOTE , QUOTE 2.2 MTLAB与MATPOWER 潮流计算经历了一个由手工利用交直流计算到应用数字电子计算机的发展过程,目前常见的潮流计算仿真软件主要有电科院的PASAP,美国的BPA,PSS/E等,但源代码都不公开,所以最佳方案还是基于MATLAB语言编写的电力潮流计算的软件MATPOWER。MATPOWER是一个用MATLAB的M文件编写的软件包,由康奈尔大学电力系统工程研究中心开发,最新版本是MATPOWER4.1,浙江大学的甘德强教授在康奈尔工作期间是主要研发人员。 首先在MATPOWER主页下载相关的压缩文件,解压文件,将解压后文件放到MATLAB的搜索路径下。实际操作中注意完成以上步骤后要在MATLAB中的SET PATH中将MATPOWER添加到MATLAB路径中,这步必不可少。2.3 节点导纳矩阵与节点类型2.3.1 节点导纳矩阵节点导纳矩阵以导纳形式描述电力网络节点注入电流和节点电压关系的矩阵。

电力系统分析OB欧宝doc 22页

OB欧宝它给出了电力网络连接关系和元件特性的全部信息。根据基尔霍夫电流定律可写出电力网络中的n个节点方程式: 可用矩阵的形式表示I=YV。其中电力系统节点导纳矩阵,对角元素为节点 i的自导纳,非对角线为节点 i与节点j之间的互导纳。节点导纳矩阵反映了网络的参数及接线情况电力系统节点导纳矩阵,因此,节点导纳矩阵可以看成是对电力网络电气特性的一种数学抽象。由导纳矩阵所联系的节点方程式是电力网络广泛应用的一种数学模型。节点导纳矩阵的有以下特点:(1)导纳矩阵是稀疏矩阵。它的对角线元素一般不为零,但在非对角线元素中则存在不少零元素。在电力系统的接线图中,一般每个节点与平均不超过3~4个其他节点有直接的支路连接。因此,在导纳矩阵的非对角线元素中每行仅有3~4个非零元素,其余的都是零元素,而且网络的规模越大,这种现象越显著。(2) 导纳矩阵为对称矩阵。由网络的互易特性易知。导纳矩阵的对称性和稀疏性对于应用计算机求解电力系统问题有很大的影响。如果能充分地利用这两个特点,如在程序设计中储存导纳矩阵的对角元素和上三角元素(或下三角元素),排除零元素的储存和运算,就可以大大地节省储存单元和提高计算速度。2.3.2 节点类型 (1)PQ节点:PQ节点指的是该节点的注入有功功率和无功功率是已知的,而该节点的电压幅值和相位是未知的。

在电力系统中,各负荷节点、担任基本负荷的发电厂都属于PQ节点,部分互联电力网的联络节点也可以定义为PQ节点。(2)PV节点:PV节点指的是节点的注入有功功率和无功功率是已知的,而该节点的无功功率和电压相位是未知的。在电力系统中,具备无功功率调节的节点都可以作为PV节点,部分互联电力网的联络节点也可以定义为PV节点。(3)平衡节点:平衡节点的电压幅值和相位是给定的,而其注入有功功率和无功功率是待求量。平衡节点的A相电压相位是系统的相位基准,最后计算结果中的所有相位值都是以平衡节点的A相电压相位作为参考的,所以平衡节点在系统中只能有一个,且必须有一个,它对系统起到功率平衡的作用,可以向系统提供缺损的功率,也可以吸收系统中多余的功率。从理论上讲,平衡节点代表与系统相连的无穷大系统,实际应用中,一般选取系统中的主调频发电厂为平衡节点比较合理,最后计算结果中的平衡节点功率就是此发电厂必须向系统提供的功率。如果系统是与另一更大的电力系统S相连,则也可以选取这个连接点作为平衡节点,最后计算结果中的平衡节点功率就是系统S通过平衡节点向系统提供的功率。另外如果系统是一独立系统且只有一个电源点,则必须选此电源点为平衡节点。

电力系统分析OB欧宝doc 22页

OB欧宝2.4 潮流计算 电力系统潮流计算的结果是计算出各节点电压、相位、支路功率、网络损耗等。通过计算可以得到节点电压,可以评估电压是否满足电能质量指标的要求;节点电压相位是评估系统稳定性的重要参数。潮流计算结果是各种控制技术措施、调度方案、规划方案评估的依据。电力系统潮流计算属于稳态分析范畴,不涉及系统元件的动态特性和过渡过程。因此其数学模型不包含微分方程,是一组高阶非线性方程。非线性代数方程组的解法离不开迭代,因此,潮流计算方法首先要求它是能可靠的收敛,并给出正确答案。在用数字计算机求解电力系统潮流问题的开始阶段,人们普遍采用以节点导纳矩阵为基础的高斯-赛德尔迭代法(一下简称导纳法)。这个方法的原理比较简单,要求的数字计算机的内存量也比较小,适应当时的计算机制作水平和电力系统理论水平,于是电力系统计算人员转向以阻抗矩阵为主的逐次代入法。但是阻抗法运算量大,解决其缺点的另一途径是采用牛顿-拉夫逊法,直到现在牛顿法都广泛使用。后来又有了在牛顿法基础上的PQ法,也得到了广泛使用。3.计算过程及步骤如图所示的简单电力系统,节点导纳矩阵为:3-j9-2+j6-1+j30-2+j6 3.666-j11 -0.666+j12 -1+j3-1+j3 -0.666+j12 3.666-j11 -2+j60-1+3j-2+j63-j9节点2、3的注入功率已知,节点1为平衡节点,节点4为PV节点,用高斯-塞德尔法求节点2、3、4的电压,只迭代一次,取节点2、3的电压初值均为1∠0。

(图中各值均为标么值)。33241U4=1.05P4=0.3-1+j0.5=1.04∠0。P4=0.3图3.1 电力系统模型图 设由高斯-赛德尔迭代式 得:4 MATPOWER中建模解决问题4.1 MATPOWER的技术规则 1.数据文件格式在潮流计算时,把电网的各种参数写成MATPOWER的数据文件格式,一般为M文件,MATPOWER4.0提供两种数据文件格式:version.1和version.2,我采用version.2格式。每个电网用变量名为“mpc”的结构体来定义,结构体mpc的不同字段用baseMVA、bus、branch、gen等来定义和返回电网的具体参数。在这些字段中,除baseMVA是标量外,其他都是矩阵。列的数据类似于标准的IEEE和PTI列的数据格式。MATPOWER中提供了大量的IEEE制定的典型模型,规范细节可以再caseformat.m中看到。mpc不同字段的简要介绍如下:(1)字段baseMVA是标量,设置基准电压,一般为100MVA。 (2)字段bus是一个矩阵,用来设置电网母线参数。矩阵每一行都对应一个单一的母线,列的数据格式为bus_i、type、Pd、Qd、Gs、Bs、area、Vm、Va、baseKV、zone、Vmax、Vmin。

电力系统分析OB欧宝doc 22页

OB欧宝bus_i用来设置母线编号;type用来设置母线类型,1为PQ节点母线,2为PV节点母线,3为平衡节点母线,4为孤立节点母线;Pd、Qd用来设置母线注入负荷的有功功率和无功功率;Gs、Bs用来设置该母线并联电导和电纳;baseKV用来设置母线基准电压;Vm和Va用来设置母线电压幅值和相位初值;Vmax、Vmin用来设置母线工作时最高、最低电压幅值;area、zone用来设置电网断面号和分区号,一般为1。(3)字段gen 为一个矩阵,用来设置接入电网的发电机参数。矩阵的每一行对应一个发电机,列的数据格式为bus、Pg、Qg、Qmax、Qmin、Vg、mBase、status、Pmax、Pmin。bus用来设置接入发电机的母线编号;Pg、Qg用来设置接入发电机的有功功率和无功功率;Pmax、Pmin用来设置接入发电机的有功功率最大和最小允许值;Qmax、Qmin用来设置接入发电机的无功功率最大和最小允许值;Vg用来设置接入发电机的工作电压;mBase用来设置接入发电机的基准功率;status用来设置发电机的工作状态,1表示投入,0退出。(4)字段branch用来设置电网中各支路参数。矩阵的每一行都对应一个单一支路,列的数据格式为fbus、tbus、r、x、b、rateA、rateB、rateC、ratio、angle、status、angmin、angmax。

Fbus、tbus用来设置该支路由起始节点编号和终止节点编号;r、x、b用来设置该支路的电阻、电抗、电纳;rateA、rateB、rateC用来设置该支路长期、短期、紧急允许功率;ratio用来设置该支路的变比,导线时为0,变压器时为变比;angle为支路的相位角度,导线时为0;status用来设置支路工作状态,1为投入,0退出运行;angmin、angmax用来设置支路相位角度的最大最小差值。2.控制选项MATPOWER软件不但能够进行交流潮流计算,还能进行直流潮流、最优潮流等计算,进行计算时还可以选用不同的算法及输出格式。为实现以上功能,MATPOWER采用一个选项向量“mpoption”来达到对选项的控制。在变量名PF_ALG中通过改变值来达到改变算法,1对应牛顿法,2对应快速解耦算法(XB版本),3对应快速解耦算法(BX版本),4为高斯-赛德尔法,系统默认为1,即牛顿法。在PF_MAX_IT中设置牛顿法的最大迭代次数,PF_MAX_IT_GS设置高斯-赛德尔法的最大迭代次数,系统默认为1000次。为实现系统算法从牛顿法到高斯-赛德尔法转换,使用方法如下所示:在MATPOWER中文手册还有对MATPOWER的使用详细介绍(在MATPOWER/docs中有manual.pdf),在MATPOWER中有很多M文件很重要,比如runpf.m为定义一个运算潮流程序,Ext2int.m为将数据矩阵从外部节点编号转换为内部节点编号,loadcase.m为将数据从文件或者结构体重导入到数据矩阵中,还有很多,这些M文件使我们的建模得以实现,同时也是我们很好找到我们模型中问题。

电力系统分析OB欧宝doc 22页

OB欧宝在我的建模过程中遇到了很多这样的问题,比如error('loadcase: syntax error or undefined data matrix(ices) in the file\n%s', err5); mpc = loadcase(casedata);通过不断分析,加深理解,这些错误都是因为搭建的模型不足以有结果,所以系统的这些功能方便了我在编程时查找错误,这是这是它的一大优势。另外,MATPOWER还提供了很多实例电力系统节点导纳矩阵,如case_ieee30.m 就是 IEEE30 节点系统,这些实例给了初学者很多启发,同时也起到了规范作用。4.2 MATPOWER实际建模4.2.1 建模中的实际问题首先要将bus模型建立起来,因为建模方便的需要,将题目的1243点编号变成1432,所以点1为平衡节点,2、4点是PQ节点,点3是PV节点,根据bus的中的type类型的定义,1为3,2、4为1,3为2。Bus的矩阵如下:%% bus data% bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vminmpc.bus = [1 3 0 0 0 0 1 1.04 0 100 1 1.1 0.94;2 1 100 -50 0 0 1 1 0 100 1 1.1 0.94;3 2 0 0 0 0 1 1.05 0 100 1 1.1 0.94;4 1 -50 20 0 0 1 1 0 100 1 1.1 0.94; ];接着要搭建支路模型,一开始我错误的判断支路是3条,其实后来仔细分析是5条,这都是因为基本功不扎实导致的,branch的矩阵如下:%% branch data% fbus tbus r x b rateA rateB rateC ratio angle status angmin angmaxmpc.branch = [1 4 0.316 0.949 0 0 0 0 0 0 1 -360 360;3 4 0.0554 0.998 0 0 0 0 0 0 1 -360 360;2 4 0.316 0.949 0 0 0 0 0 0 1 -360 360;1 2 0.316 0.949 0 0 0 0 0 0 1 -360 360;2 3 0.316 0.949 0 0 0 0 0 0 1 -360 360; ];然后其他一些语句的编写形成了我的M文件,然后试着运行,但是却一次次失败,通过对IEEE提供的范例,然后我试着对IEEE的case与文件对比,在它们的差异中,对IEEE的case逆推,找出关键原因在于发电机模型必不可少,这可能是MATPOWER的开发中作者的意图在于对电力系统的完整分析,数据来源上充沛,而局部的节点导纳矩阵的建模确由于loadcase.m、runpf.m等函数文件中严格要求而受到限制。

由于这次的目标仅仅是求出节点电压,所以我试着加入发电机的模型,是它的潮流计算能得出节点电压,发电机的模型建立如下:%% generator data% bus Pg Qg Qmax Qmin Vg mBase status Pmax Pminmpc.gen = [1 0 0 300 -300 1 100 1 250 10;3 163 0 300 -300 1 100 1 300 10; ];4.2.3 建模结果显示在MATLAB的命令窗口输入:计算机输出的结果如下:图4.1 高斯-赛德尔法MATPOWER结果显示图 系统默认高斯-赛德尔法为1000次迭代,显示结果中会给出四个节点的电压幅值相位,而且会给出最大最小值,会给出各支路的损耗,节点功率。但这仅仅是发电机模型随机选取的结果,随机时会对节点电压产生较大的影响比如,会有下面的结果:或者出现这次会发现电压发生很大的变化,说明发电机模型会有很大的影响,所以发电机模型要认真建立,通过分析电力系统节点导纳矩阵,我把发电机模型设为如下: %% generator data% bus Pg Qg Qmax Qmin Vg mBase status Pmax Pminmpc.gen = [1 0 0 300 -300 1 100 1 250 10;3 30 0 300 -300 1 100 1 300 10; ];运行结果如下: 以上便是运行结果。

电力系统分析OB欧宝doc 22页

小结 期末考试结束后我首先开始的课程设计是电力系统分析,在之前的课程学习中也算是领略了电力系统分析的难度,这次我的题目是用高斯-赛德尔法在给定的条件下求出未知点的电压,之前由于课程设置问题,潮流计算的掌握不到位,所以课程设计也挺有难度的。通过查阅相关资料,我了解了高斯-赛德尔法的具体含义,还有MATLAB是很好的分析电力系统潮流的软件,所以我有了大致的思路,运用MATPOWER软件解决问题十分方便,而且了解这个电力系统广泛应用的软件对今后的学习工作十分有益。我主要参考了去年买的一本《MATPOWER/Simulink电力系统建模与仿真》,在cornell主页下载了MATPOWER软件,按照相关步骤安装,然后我按照题目进行建模,在实际操作中遇到了相当多的问题,首先是runpf功能多次运行不成功,每次报错都是同一原因,即loadcase里的250行对错误5的定义,由于半路出家,我对它的意思不能理解,通过对范例的逆推,我总结出这是由于建模的不完整导致的,所以,我通过加入发电机模型,使这个模型得以完成。同时也有像mpc = loadcase(casedata);这个错误我经常遇到,一时间也不能理解,直到现在我也仅仅理解成负荷点建模不正确,到底什么意思,估计还需要更深入地研究。

在整个探究过程中,我不断遇到问题,不断上网找资料,从雅可比、高斯-赛德尔、到MATPOWER中文手册,在这些资料中我受益匪浅,同时我也想很多同学请教,他们热心帮助给了我很多启发,特别是袁辉同学热心帮助我,给了我很大鼓励。这几天时间里有时一整天都没什么进展,有时会因为一个小小的启发而欢喜,喜怒哀乐各种滋味也许只有认认真真去探究才能得到。MATPOWER是康奈尔大学在90年代开发出来的,令我震撼的是90年代这所遐迩闻名的常春藤高校就做出这么有前瞻性、创新性的工作,这使得MATLAB、Simulink在电力系统中应用更为广泛。现在的浙江大学甘德强教授也是当年的主要研发人员。随着电气、电子、信息、计算机的学科交叉性越来越明显,如何把握好学科的发展方向,如何使我们的电气专业更好的向前发展,美国高校给了我们很大的启发,美国的高校电气一级学科全称电气与计算机,这也说明了计算机融入到电气工程领域已是必然的趋势,只有掌握好计算机知识,才能把握好电气发展的生命线。另外,随着电力系统的发展,新能源如光伏发电、风能等领域的发展,电力系统肯定会越来越复杂,比如风能大规模的接入电力系统,对电力系统稳定性可靠性的影响,以及替代等功率的火电厂时经济性,这些问题只会使我们的建模越来越困难,现有的比如牛顿法、PQ法很有可能满足不了实际要求,如何是我们数学学科应用到电力系统分析中是我们今后发展的背景。

OB欧宝对于我个人而言,这次课设的启发在于思维的拓展,至少在学科结合上,以后我会在学好主干学科时,花一些时间在数学方法、计算机软件上。记得大二期末时我们参加基础强化训练时,第一次接触到MATLAB感觉很难,很生僻,还有点抵触情绪,现在想想真的很幼稚,选择了这条路那只有勇往直前,不要畏惧什么,学习时不要被动,主动的学习会发现另一片天,生活就是这样,主动地生活,每天都是希望,只要有希望在,我们每天都会动力十足,信心满满。参考文献[1]何仰赞,汪增银.电力系统分析(第三版).武汉:华中科技大学出版社,2002[2]于群,曹娜.MATLAB/Simulink电力系统建模与仿真.北京:机械工业出版社,2011[3]RayD.Zimmeman, Carios E.Murillo-Sanchez,甘德强.matpower中文手册.美国:康奈尔大学电气学院电力系统工程研究中心 ,2006[4]韩祯祥.电力系统分析(第五版).杭州:浙江大学出版社,2011[5]夏道止.电力系统分析(第二版).北京:中国电力出版社,2011[6]李维波.MATLAB在电气工程中的应用.北京:中国电力出版社,2007[7]吴天明,谢小竹,彭彬.MATLAB电力系统设计与分析.北京:国防工业出版社,2004附录function mpc = case9Q%CASE9Q Case 9 with costs for reactive generation.% Please see CASEFORMAT for details on the case file format.%% Identical to case9.m, with the addition of non-zero costs for% reactive power. % MATPOWER% $Id: case9Q.m,v 1.11 2012/06/10 18:08:15 ray Exp $ %% MATPOWER Case Format : Version 2mpc.version = '2'; %% Power Flow Data %%%% system MVA basempc.baseMVA = 100; %% bus data% bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vminmpc.bus = [1 3 0 0 0 0 1 1.04 0 100 1 1.1 0.94;2 1 100 -50 0 0 1 1 0 100 1 1.1 0.94;3 2 0 0 0 0 1 1.05 0 100 1 1.1 0.94;4 1 -50 20 0 0 1 1 0 100 1 1.1 0.94; ];%% generator data% bus Pg Qg Qmax Qmin Vg mBase status Pmax Pminmpc.gen = [1 0 0 300 -300 1 100 1 250 10;3 30 0 300 -300 1 100 1 300 10; ];%% branch data% fbus tbus r x b rateA rateB rateC ratio angle status angmin angmaxmpc.branch = [1 4 0.316 0.949 0 0 0 0 0 0 1 -360 360;3 4 0.0554 0.998 0 0 0 0 0 0 1 -360 360;2 4 0.316 0.949 0 0 0 0 0 0 1 -360 360;1 2 0.316 0.949 0 0 0 0 0 0 1 -360 360;2 3 0.316 0.949 0 0 0 0 0 0 1 -360 360; ];本科生课程设计成绩评定表姓 名杨贇性 别男专业、班级电气工程及自动化专业0901班课程设计题目:高斯-赛德尔法求节点电压课程设计答辩或质疑记录:成绩评定依据:设计原理(20分)计算步骤与网络图(30分)结果及分析(20分)说明书内容和规范程度(10分)答 辩(10分)考 勤(10分)总 分(100分)最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:年月 日