基于c++的电力系统潮流计算.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:256KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于c++的电力系统潮流计算.doc

基于c++的电力系统潮流计算.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于C++的电力系统潮流计算摘要:简单介绍了电力系统潮流计算的情况和基本法,并对牛顿—拉夫逊法潮流计算进行了分析。给出了用C++编写的简单潮流计算程序和该程序的运行实例。关键词:电力系统潮流计算牛顿—拉夫逊法引言电力系统潮流计算是电力系统分析中的一种最基本的计算,是对复杂电力系统正常和故障条件下稳态运行状态的计算.潮流计算的目标是求取电力系统在给定运行状态的计算.日节节点电压和功率分布,用以检查系统各元件是否过负荷.各点电压是否满足要求,功率的分布和分配是否合理以及功率损耗等.对现有电力系统的运行和扩建,对新的电力系统进行规划设计以及对电力系统进行静态和暂态稳定分析都是以潮流计算为基础.潮流计算结果可用如电力系统稳态研究,安全估计或最优潮流等对潮流计算的模型和方法有直接影响.牛顿—拉夫逊法潮流计算潮流计算己经具有高斯—塞德尔法、牛顿—拉夫逊法、PQ分解法等多种成熟的算法。牛顿—拉夫逊法是广泛采用的解非线性力一程式组的力一法,也是当前广泛采用的计算潮流分布的力一法。牛顿法把非线性方程式的求解过程变成反复对相应的线性力一程的求解过程,通常称为逐次线性化过程。1.1基本原理对于非线性代数力一程组i=1,2,….,n若其初始估计值为,估计值与真值之差为,将上式在处展开成泰勒级数,得到如下的方程组:f当估计值与精确解相差不大时,的高次方可略去,上式简化为:f=0上式即为牛顿法的修正方程式,由此可以求得第一次迭代的修正量=-将和相加,得到变量的第一次改进值,从出发、重复上述计算过程。因此从一定的初值出发,应用牛顿法求解的迭代格式为:=1.2性能和特点牛顿法是数学中解决非线性方程式的典型方法。计算时初始值一般选在实际运行值附近。在一般的潮流计算中迭代6~7次就能收敛到比较精确的解,而且迭代次数与电力系统规模关系不大。在解决潮流计算问题时,是以导纳矩阵为基础的,牛顿法中利用了最佳顺序消去法,并注意雅可比矩阵高度稀疏的特性,在程序中采用了稀疏程序设计技巧。牛顿法突出的优点是收敛速度快,具有平方收敛特性,具有良好的收敛可靠性,对于以节点导纳矩阵为基础的高斯—塞德尔法呈病态的系统,牛顿法均能可靠收敛。但是牛顿法占用内存大,计算速度慢。对初始值要求比较高。当初始值选择的不恰当时,可能会出现不收敛,或者收敛到电力系统实际上无法运行的解。对于这种情况,我们采用以下办法解决:当电力系统正常运行时,各节点运行在额定电压附近,各节点电压相角差又不大时,采用“平均电压初值”,即除平衡节点外,各节点电压初值为1,相角为0,这样牛顿—拉夫逊法一般都能给出比较满意的结果。2.C++程序设计C++是一个面向对象的语言,使用它编写的代码更加简洁、高效,更具可维护性和可重用性。下面是程序的主要计算函数。voidCTideDLG::amend()//解修正方程for(inti=2;i<=n;i++){doublea=0;for(intk=1;k<i;k++){a+=Lower[i][k]*y[k];}y[i]=B[i]-a;}x[n]=y[n]/Upside[n][n];for(intj=n-1;j>=1;j--){doubleb=0;for(intk=j+1;k<=n;k++){b+=Upside[j][k]*x[k];}x[j]=(y[j]-b)/Upside[j][j];}}3.结论本文结合牛顿—拉夫逊法利用C++编写了潮流计算程序,经验证能快速有效的对给定网络进行潮流计算,并能得出精确的结果。参考文献:何仰赞温增银,电力系统分析,华中科技大学出版社,2002C++语言程序设计,高等教育出版社,2008