精品高压输电网潮流的计算机算法程序设计毕业论文论文.docx
《精品高压输电网潮流的计算机算法程序设计毕业论文论文.docx》由会员分享,可在线阅读,更多相关《精品高压输电网潮流的计算机算法程序设计毕业论文论文.docx(30页珍藏版)》请在冰豆网上搜索。
精品高压输电网潮流的计算机算法程序设计毕业论文论文
贵州大学电气工程学院
电力系统分析课程设计报告书
题目:
高压输电网潮流的计算机算法程序设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
目录
第一章课程设计概述3
1.1设计目的3
1.3设计题目4
1.4设计内容4
1.5设计时间4
第二章潮流计算设计题目及思路5
2.1潮流计算题目5
2.2对题目的分析及设计思路5
第三章电力系统潮流计算概述6
3.1电力系统概述6
3.2潮流计算的意义6
3.3牛顿—拉夫逊法潮流计算基本步骤7
第四章程序流程图及程序代码7
4.1程序流程图7
4.2运用MATLAB编程程序代码8
4.3例题数据代码20
第五章运行结果分析21
5.1运用MATLAB运行结果21
5.2运用powerworld软件仿真30
5.2.1使用powerworld仿真潮流分布30
第六章总结31
参考文献32
第一章课程设计概述
1.1设计目的
1.掌握电力系统潮流计算的基本原理和电力系统运行方式的变化;
2.掌握并能熟练运用一门计算机语言(MATLAB语言或C语言或C++语言);
3.采用计算机语言对潮流计算进行计算机编程计算。
1.2设计要求
1.程序源代码;
2.选定算例的输入,输出文件;
3.程序说明;
4.选定算例的程序计算过程;
5.选定算例的手算过程(至少迭代2次)(可选)。
1.3设计题目
高压输电网潮流的计算机算法程序设计(PQ分解法、牛顿-拉夫逊法)
或中压配电网潮流的计算机算法程序设计(前推后代法、同伦延拓法等)
或电力系统短路故障的计算机算法程序设计(要求不限)
1.4设计内容
1.根据电力系统网络推导电力网络数学模型,写出节点导纳矩阵;
2.赋予各节点电压变量(直角坐标系形式)初值后,求解不平衡量;
3.形成雅可比矩阵;
4.求解修正量后,重新修改初值,从2开始重新循环计算;
5.求解的电压变量达到所要求的精度时,再计算各支路功率分布、功率损耗和平衡节点功率;
6.上机编程调试;连调;
7.计算分析给定系统潮流分析并与手工计算结果作比较分析。
8.准备计算机演示答辩,书写该课程设计说明书(必须计算机打印)。
1.5设计时间
2012年春季第17周至第18周
第2章潮流计算设计题目及思路
2.1潮流计算题目
题目:
设计原始资料网络接线如下图所示:
其中已知:
各支路阻抗表幺值参数分别为Z12=0.04+j00.25,Z13=0.10+j0.35,Z23=0.08+j0.30,ZT1=j0.015,ZT2=j0.03,K=1.05,L1、L2电纳为0.5。
运用以极坐标表示的高斯—塞德尔法、牛顿—拉夫逊法、P-Q分解法计算该系统的潮流分布。
计算精度要求各节点电压修正量不大于。
2.2对题目的分析及设计思路
此电力系统是一个5节点,3支路的电力网络。
然后确定节点类型,由于一般无发电设备的变电所、功率固定的发电厂为PQ节点;有可调无功设备的变电所、有励磁储备的发电厂为PV节点;主调频电厂或出线多的发电厂为平衡节点。
通过对此电力系统分析,我们很容易得以节点1、2、3为PQ节点,节点4为PV节点,节点5为平衡节点。
综合比较牛顿拉夫逊法(直角坐标、极坐标)、PQ分解法等多种求解方法的特点,最后确定采用牛顿拉夫逊法(极坐标)。
因为此方法所需解的方程组最少。
第3章电力系统潮流计算概述
3.1电力系统概述
电力工业发展初期,电能是直接在用户附近的发电站(或称发电厂)中生产的,各发电站孤立运行。
随着工农业生产和城市的发展,电能的需要量迅速增加,而热能资源和水能资源丰富的地区又往往远离用电比较集中的城市和工矿区,为了解决这个矛盾,就需要在动力资源丰富的地区建立大型发电站,然后将电能远距离输送给电力用户。
同时,为了提高供电的可靠性以及资源利用的综合经济性,又把许多分散的各种形式的发电站,通过送电线路和变电所联系起来。
这种由发电机、升压和降压变电所,送电线路以及用电设备有机连接起来的整体,即称为电力系统。
3.2潮流计算的意义
(1)在电网规划阶段,通过潮流计算,合理规划电源容量及接入点,合理规划网架,选择无功补偿方案,满足规划水平的大、小方式下潮流交换控制、调峰、调相、调压的要求。
(2)在编制年运行方式时,在预计负荷增长及新设备投运基础上,选择典型方式进行潮流计算,发现电网中薄弱环节,供调度员日常调度控制参考,并对规划、基建部门提出改进网架结构,加快基建进度的建议。
(3)正常检修及特殊运行方式下的潮流计算,用于日运行方式的编制,指导发电厂开机方式,有功、无功调整方案及负荷调整方案,满足线路、变压器热稳定要求及电压质量要求。
(4)预想事故、设备退出运行对静态安全的影响分析及作出预想的运行方式调整方案。
总结为在电力系统运行方式和规划方案的研究中,都需要进行潮流计算以比较运行方式或规划供电方案的可行性、可靠性和经济性。
同时,为了实时监控电力系统的运行状态,也需要进行大量而快速的潮流计算。
因此,潮流计算是电力系统中应用最广泛、最基本和最重要的一种电气运算。
在系统规划设计和安排系统的运行方式时,采用离线潮流计算;在电力系统运行状态的实时监控中,则采用在线潮流计算。
3.3牛顿—拉夫逊法潮流计算基本步骤
牛顿—拉夫逊法潮流计算的基本步骤不外乎有如下几步。
1、形成节点导纳矩阵。
2、设各节点电压的初始值和求出功率偏差
3、根据公式算出雅可比矩阵。
4、解如下线性方程组,得到
依据如下公式计算修正量,并形成迭代公式:
这样反复迭代计算,直至所有节点|ΔU|<ε和|Δδ|<ε为止。
5、计算线路功率分布,PV节点无功功率和平衡节点注入功率。
第四章程序流程图及程序代码
4.1程序流程图
根据牛顿—拉夫逊法潮流计算的基本步骤可以得到如下程序流程图
4.2运用MATLAB编程程序代码
%*******************?
?
?
?
?
********************
clc;
clearall
formatlong;
%********************?
?
?
?
?
?
*****************
globalnSWnPQnPV;%?
?
?
?
PQ?
?
PV?
?
?
?
globalnb;%?
?
?
?
globalnl;%?
?
?
globalbus;%bus:
?
?
?
?
globalline;%line:
?
?
?
?
globalY;%Y:
?
?
?
?
?
?
globalnodenum;%?
?
?
?
?
?
?
globallPQ;%?
?
?
?
?
?
globalmyf;%?
?
?
?
?
?
%*******************?
?
?
?
?
***************
openfile;%?
?
busline?
?
?
?
change;%?
?
?
?
?
?
ybus;%?
?
?
?
?
?
?
?
NR;%?
?
?
?
?
?
?
?
?
?
?
?
?
?
PQ;%?
?
?
?
?
?
?
?
flow;%?
?
?
?
?
?
?
?
?
ret;%?
?
?
?
?
?
?
output;%?
?
?
?
?
?
%*************************?
?
?
?
?
*****************
%******************?
?
busline?
?
?
?
?
*****************
functionopenfile
globalnbnl;
globalline;
globalbus;
globalmyf;
[dfile,pathname]=uigetfile('*.m','SelectDataFile');%?
?
?
?
?
?
ifpathname==0
error('youmustselectavaliddatafile')
else
lfile=length(dfile);%stripoff.m
eval(dfile(1:
lfile-2));%?
?
?
?
?
?
?
?
?
end
[nl,ml]=size(line);%?
?
?
?
nl
[nb,mb]=size(bus);%?
?
?
?
nb
outfile='';
forI=1:
length(dfile)
ifdfile(I)=='.'
break;
end
outfile=strcat(outfile,dfile(I));
end
outfile=strcat(outfile,'.txt');%?
?
?
?
?
?
?
myf=fopen(outfile,'w');%?
?
?
?
?
?
%**********************?
?
?
?
?
*********************
functionchange
globalnb;
globalnl;
globalnPQ;
globalbus;
globalline;
globalnodenum;
nSW=0;
nPV=0;
nPQ=0;
forI=1:
nb,%nb?
?
?
?
?
type=bus(I,6);
iftype==3,%?
?
?
?
?
?
nSW=nSW+1;
SW(nSW,:
)=bus(I,:
);
elseiftype==2,%?
PV?
?
?
nPV=nPV+1;
PV(nPV,:
)=bus(I,:
);
else%?
PQ?
?
?
nPQ=nPQ+1;
PQ(nPQ,:
)=bus(I,:
);
end
end
bus=[PQ;PV;SW];%?
PQPVSW?
?
?
?
?
?
?
?
?
?
?
newbus=[1:
nb]';
nodenum=[newbusbus(:
1)];%?
?
?
?
?
?
?
?
bus(:
1)=newbus;
forI=1:
nl%?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
forJ=1:
2
fork=1:
nb
ifline(I,J)==nodenum(k,2)
line(I,J)=nodenum(k,1);
break
end
end
end
end
%******************?
?
?
?
?
?
?
?
*****************
functionY=ybus(bus,line)
globalnl;
globalnb;
globalbus;
globalline;
globalY;
globalmyf;
Y=zeros(nb,nb);%?
?
?
?
?
?
?
?
0
fork=1:
nl
I=line(k,1);%?
?
?
?
?
?
J=line(k,2);
Zt=line(k,3)+j*line(k,4);
ifJ~=0%?
?
?
?
?
?
?
?
Yt=1Zt;%?
?
?
?
?
?
?
?
?
?
?
end
Ym=line(k,5)+j*line(k,6);%?
Ym
K=line(k,7);%?
K
if(K==0)&(J~=0)%?
?
?
?
:
K=0;
Y(I,I)=Y(I,I)+Yt+Ym;
Y(J,J)=Y(J,J)+Yt+Ym;
Y(I,J)=Y(I,J)-Yt;
Y(J,I)=Y(I,J);
end
if(K==0)&(J==0)%?
?
?
?
:
K=0,J=0,R=X=0;
Y(I,I)=Y(I,I)+Ym;
end
ifK>0%?
?
?
?
?
:
Zt?
Ym?
?
?
?
i?
?
?
K?
j?
Y(I,I)=Y(I,I)+Yt+Ym;
Y(J,J)=Y(J,J)+YtKK;
Y(I,J)=Y(I,J)-YtK;
Y(J,I)=Y(I,J);
end
ifK<0%?
?
?
?
?
:
Zt?
Ym?
?
?
?
K?
?
?
?
?
K?
i?
Y(I,I)=Y(I,I)+Yt+Ym;
Y(J,J)=Y(J,J)+K*K*Yt;
Y(I,J)=Y(I,J)+K*Yt;
Y(J,I)=Y(I,J);
end
end
%***************?
?
?
?
?
?
?
?
?
?
?
?
?
?
***************
functionNR
globalnb;
globalnPQ;
globalbus;
globalline;
globalY;
globalmyf;
max1=100;%?
?
?
?
?
?
eps1=1.0e-10;%?
?
?
?
eps2=1.0e-10;
fprintf(myf,'------?
?
?
?
?
?
Y----\n');%?
?
?
?
?
?
?
?
forI=1:
nb
forJ=1:
nb
fprintf(myf,'%10f+j*(%10f)',real(Y(I,J)),imag(Y(I,J)));
end
fprintf(myf,'\n');
end
fori=1:
max1
angl(:
1)=bus(1:
nb-1,3);
u(:
1)=bus(1:
nPQ,2);
x=[angl;u];%?
bus?
?
?
?
?
PQPV?
?
?
?
?
?
PQ?
?
?
?
?
?
?
?
?
?
?
?
?
x
Jac=form_jac(bus,Y);%?
?
?
?
?
?
?
del=dPQ(Y,bus);%?
?
?
?
?
?
?
?
?
dx=Jac\del;%?
?
dx
forI=1:
nb+nPQ-1
forJ=1:
nb+nPQ-1
fprintf(myf,'%10f',Jac(I,J));%?
?
?
?
?
?
?
?
?
?
?
?
end
fprintf(myf,'\n');
end
fprintf(myf,'-----?
%d?
?
?
?
?
?
?
?
dP?
dQ----\n',i);
forI=1:
nb+nPQ-1
fprintf(myf,'%10e',del(I,1));%?
?
?
?
?
?
?
?
?
?
?
fprintf(myf,'\n');
end
forI=1:
nb+nPQ-1
fprintf(myf,'%10e',dx(I,1));%?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
fprintf(myf,'\n');
end
forI=nb:
nb+nPQ-1
dx(I,1)=dx(I,1)*x(I,1);%?
?
?
?
?
?
delUU,?
?
?
?
?
?
?
?
end
x=x-dx;%?
?
fprintf(myf,'----?
%d?
?
?
?
?
?
?
?
delta?
?
?
U---\n',i);
angl=x(1:
nb-1,1);%?
?
?
?
?
x,?
?
?
?
?
?
?
?
?
?
?
?
u=x(nb:
nb+nPQ-1,1);
forI=1:
nb-1%?
?
?
?
?
bus?
?
?
PQ?
PV?
?
?
?
?
bus(I,3)=angl(I,1);
fprintf(myf,'ang%d%10f\n',I,angl(I,1));
end
forI=1:
nPQ%?
?
?
?
?
bus?
?
?
PQ?
?
?
?
?
bus(I,2)=u(I,1);
fprintf(myf,'U%d%10f\n',I,u(I,1));
end
if(max(abs(dx))?
?
?
?
?
?
?
?
?
?
?
?
?
break
end
end
ifi==max1%?
?
?
?
?
?
?
?
?
?
?
?
?
error('?
?
?
?
?
?
?
?
?
?
?
?
?
!
');
end
%*******************?
?
?
?
?
?
?
?
************
functionPQ
globalnb;
globalnPQ;
globalbus;
globalline;
globalY;
forI=nPQ+1:
nb%?
PV?
?
?
Q,?
?
?
?
?
P,Q
ifbus(I,6)==3%?
?
?
?
?
?
?
?
P
sum=0;
forJ=1:
nb
ang=bus(I,3)-bus(J,3);
A=real(Y(I,J))*cos(ang)+imag(Y(I,J))*sin(ang);
sum=sum+bus(I,2)*bus(J,2)*(A);
end
bus(I,4)=sum;%?
?
?
?
?
?
?
?
P?
?
bus?
?
end
sum=0;
forJ=1:
nb
ang=bus(I,3)-bus(J,3);
B=real(Y(I,J))*sin(ang)-imag(Y(I,J))*cos(ang);
sum=sum+bus(I,2)*bus(J,2)*B;
end
bus(I,5)=sum;%?
?
?
PV?
?
?
?
?
?
Q?
?
bus?
?
end
%***************?
?
?
?
?
?
?
?
?
******************
functionflow
globalnl;
globallPQ;
globalbus;
globalline;
fork=1:
nl
I=line(k,1);%?
?
?
?
?
?
J=line(k,2);
lPQ(k,1)=I;%?
lPQ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
lPQ(k,2)=J;
ifJ~=0
Zt=line(k,3)+j*line(k,4);
Yt=1Zt;
end
Ym=line(k,5)+j*line(k,6);
K=line(k,7);
Ui=bus(I,2