• 大小: 10KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-30
  • 语言: C/C++
  • 标签: c++  潮流计  

资源简介

潮流上机所需要的c++程序,在input.txt中说明了输入格式,在output.txt中输出。教师原件,还给出了说明书。

资源截图

代码片段和文件信息

/*本程序的功能:根据输入的电力系统节点和支路原始数据,利用直角坐标系下的牛顿——拉夫逊法计算潮流分布。*/
/*本程序可输出的结果包含两部分,一是潮流计算中每次迭代的结果,包括迭代次数、不平衡量、雅克比矩阵、节点电压的修正值,以及本次迭代结束后得到的节点电压值;
二是电力系统潮流计算的最终结果,包括各节点的电压、注入功率,各支路的输送功率、功率损耗,以及全网的功率损耗等*/
/*本程序具有良好的通用性,可处理PQPV平衡节点,可以处理非标变比的线路以及含有平行之路的线路,也可以处理各节点的对地支路上的阻抗。*/
/*本程序还可以对电力系统的运行状态进行分析检验,判断节点电压、支路功率是否超过的额定值*/
/*本程序可计算最大节点数为100,迭代的最大次数为100,节点数、支路数、节点注入功率、支路阻抗和运算精度等基本信息由用户在输入文件中定义,各节点电压初值由用户在界面中手动输入*/
#include
#include
#define M 100                                     /*矩阵阶数*/                                       
#define N 100                                     /*迭代次数*/
int ijkabc;                                  /*循环控制变量*/ 
int tlgy;                                      /*中间变量*/            
int n                                            /* 节点数 */
m                                                /* 支路数 */
pq                                               /* PQ节点数 */
pv;                                               /* PV节点数 */
duidi;                                            /*对地支路数*/
K;                                                /*变比*/

double eps;                                       /* 精度 */
double AA[M]BB[M]CC[M]DD[M]max rrttfuzhi;  /*中间变量*/           
double moc1d1c2d2jiao;                       /*复数运算函数的返回值*/   
double G[M][M]B[M][M]Y[M][M];                   /*节点导纳矩阵中的实部、虚部及其模方值*/
double ykb[M][M]D[M]dU[M];                      /*雅克比矩阵、不平衡量矩阵*/
double S[M+1][2];                                  /*各支路的视在功率,每一行代表一条支路,
                                                   两列分别是从首节点到末节点和从末节点到首节点流过的功率*/
struct jd   /* 节点结构体 */
{  
int nums;                                    /* num为节点号,s为节点类型*/
double pqS;   /*节点有功、无功功率,功率模值*/
double efUzkj;   /*节点电压纵、横分量,电压模值阻抗角*/
double dpdqdudedf;   /*牛顿--拉夫逊中功率不平衡量、电压不平衡量*/
double lim;   /*节点电压限额*/

} jd[M];

struct zhl   /* 支路结构体 */
{  
int numb;  /*numb为支路号*/
int p1p2;  /*支路的两个节点*/
double kx;  /*变比*/
double rx;  /*支路的电阻与电抗*/
    double lim;  /*支路功率限额*/
} zhl[M];


FILE *fp1*fp2; /*定义文件指针*/


/*******************读取输入文件中的数据*******************/
void data()                             
{  
int hnumber;     /*局部变量*/     
fp1=fopen(“input.txt““r“); /*打开输入文件 指针类型:只读*/ 
if(fp1==NULL) /*检查输入数据路径是否正确*/    

printf(“cannot open input.txt file!\n“);    /*错误提示信息*/ 
exit(0);
}                                               /*退出程序*/ 
    fscanf(fp1“%d%d%d%d%d%lf\n“&n&m&pq&pv&duidi&eps);    /*输入节点数支路数PQ节点数PV节点数和精度*/ 

/*******************节点输入*******************/
    j=1;k=pq+1;/*PQ、PV节点计数,将输入的节点在jd[]数组中重新排序,将PQ节点放在最前面,PV节点放在中间,S节点放在最后*/ 
    for(i=1;i<=n;i++)                                                /*输入节点编号、类型、输入功率和电压初值*/
    {
fscanf(fp1“%d%d“&number&h);
        /*虽然在jd[]数组中将节点顺序调换了,但节点编号仍然是它输入的顺序,在输出结果时仍然按照输入的顺序*/
if(h==1)  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        143  2016-01-22 10:40  潮流上机程序\input.txt

     文件        831  2016-01-21 22:06  潮流上机程序\input数据格式说明.txt

     文件       6702  2016-01-22 10:41  潮流上机程序\output.txt

     文件      28418  2016-01-21 17:24  潮流上机程序\潮流上机.c

     目录          0  2017-01-08 21:49  潮流上机程序

----------- ---------  ---------- -----  ----

                36094                    5


评论

共有 条评论