潮流计算源程序

上传人:壹****1 文档编号:488315304 上传时间:2022-10-26 格式:DOCX 页数:24 大小:38.87KB
返回 下载 相关 举报
潮流计算源程序_第1页
第1页 / 共24页
潮流计算源程序_第2页
第2页 / 共24页
潮流计算源程序_第3页
第3页 / 共24页
潮流计算源程序_第4页
第4页 / 共24页
潮流计算源程序_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《潮流计算源程序》由会员分享,可在线阅读,更多相关《潮流计算源程序(24页珍藏版)》请在金锄头文库上搜索。

1、潮流计算源程序3 “ /*文件名称:潮流计算程序.cpp作者:版本: v1.0说明:修改记录:*/#include#include#include/ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “i r* * j * “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ /*macro definition*/#define M 100/* 矩阵阶数*/#define N 100/* 迭代次数*/ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “ “111*11“ “ “ “ “ “ “ “ “ “ “ “

2、 “ “ “ “ “ “ “ “ “ “ “ /*global variables*/int i,j,k,a,b,c;int t,l,g;int n,m,/*支路数*/pq./* PQ节点数*/pv./* PV节点数*/duidi;/*对地支路数*/*循环控制变量*/*中间变量*/*节点数*/double eps;double aaM,bbM,ccM,ddM,max,temp, rr,tt;double mo,c1,d1,c2,d2,fushuqiujiao;double GMM,BMM,YMM;虚部及其模方值*/double ykbMM,DM,dUM;阵*/*精度*/*中间变量*/*复数运算

3、函数的返回值*/*节点导纳矩阵中的实部、/*雅克比矩阵、不平衡量矩struct jd类型*/int num,s;/*节点结构体*/* num为节点号,s为节点电压纵、double p,q,S,e,f,U,zkj,dp,dq,du,de,df;横分量,电压模值,阻抗角,/*节点有功、无功功率,功率模值,牛顿-拉夫逊中功率不平衡量、电压不平衡量*/ jdM;struct zhl/*支路结构体*/( int numb; int p1,p2; double r,x; zhlM;FILE *fp1,*fp2;/*numb为支路号*/*支路的两个节点*/*支路的电阻与电抗*/void ReadData()

4、读取数据3 “ /*函数名称函数功能入口参数出口参数备注:*/ void ReadData()int h,number;fp1=fopen(”input.txt”,”r”);if(fp1=NULL)/* 如果输入为空则跳出*/printf( can not open file !n);exit(0);fscanf(fp1,%d,%d,%d,%d,%d,%lfn”,&n,&m,&pq,&pv,&duidi,&eps);/*输入节点数,支路数,PQ节点数,PV节点数对地支路数和精度*/j=1;k=pq+1;for(i=1;i=n;i+)/*输入节点编号、类型、输入功率和电压初值*/fscanf(f

5、p1,%d,%d”,&number,&h);if(h=1)/* 类型 h=1是PQ节点*/fscanf(fp1,”,%lf,%lf,%lf,%lfn”,&jdj.p,&jdj.q,&jdj.e,&jdj.f);jdj.num=number;jdj.s=h;j+;if(h=2)/* 类型 h=2是pv节点*/fscanf(fp1,”,%lf,%lfn”,&jdk.p,&jdk.U);jdk.num=number;jdk.s=h;jdk.q=0;k+;if(h=3)/*类型 h=3是平衡节点*/fscanf(fp1,”,%lf,%lfn”,&jdn.e,&jdn.f);jdn.num=number

6、;jdn.s=h;for(i=1;i=m;i+)/*输入支路阻抗*/fscanf(fp1,%d,%d,%d,%lf,%lfn”,&zhli.numb,&zhli.p1,&zhli.p2,&zhli.r,&zhli.x);fclose(fp1);if(fp2=fopen(output.txt”,w)=NULL)printf( can not open file!n);exit(0);fprintf(fp2,n 潮流上机实习 华北电力大学 电气化0807 段春姝200801000705n);fprintf(fp2,n* 原始数据 *n);fprintf(fp2,” =n);fprintf(fp2,

7、” 节点数:%d支路数:%d PQ节点数:%d PV节点数:%d对地支路 数:d 精度:fn,n,m,pq,pv,duidi,eps);fprintf(fp2, n);for(i=1;i=pq;i+)fprintf(fp2, PQ 节点: 节点d P%d=%fQ%d=%fn,jdi.num,jdi.num,jdi.p,jdi.num,jdi.q);for(i=pq+1;i=pq+pv;i+)fprintf(fp2, PV 节点: 节点 %d P%d=%fU%d=%f 初值Q%d=%fn”,jdi.num,jdi.num,jdi.p,jdi.num,jdi.U,jdi.num,jdi.q);fp

8、rintf(fp2,”平衡节点:节点 de%d=%ff%d=%fn,jdn.num,jdn.num,jdn.e,jdn.num,jdn.f);fprintf(fp2, n);for(i=1;i0)fushuqiujiao=atan(b5/a5);if(a5=0)fushuqiujiao=3.1415926+atan(b5/a5);if(a50&b50)fushuqiujiao=3.1415926/2;if(a5=0&b50)fushuqiujiao=-3.1415926/2;if(a5=0&b5=0)fushuqiujiao=0;return fushuqiujiao;/*函数名称:void Form_Y()函数功能:计算节点导纳矩阵入口参数:出口参数:备注:*/void Form_Y()/*节点导纳矩阵元素附初值*/*节点导纳矩阵的主对角线上/*将对地导纳加入相应的主对角for(i=1;i=n;i+)for(j=1;j=n;j+)Gij=Bij=0;的元素*/for(i=1;i=m;i+)线元素中*/if(zhli.p1=0)|(zhli.p2=0)fushuqiumo(zhli.r,zhli.x);if(mo=0)Gzhli.p1zhli.p2=Bzhli.p1zhli.p2=Gzhli.p2zhli.p1=Bzhli.p2zhli.p1 =0;continue;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号