资源简介
这是一个电力系统潮流计算的仿真程序,采用牛顿拉夫逊法,C++编程。程序的可读性和兼容性很强,适合学习和考前复习
代码片段和文件信息
#include “stdafx.h“
#include “stdio.h“
#include “NEquation.h“
#include “math.h“
#define NODE_TOTAL_NUM 9
#define LINE_TOTAL_NUM 9
#define NODE_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\Node.txt“
#define LINE_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\Line.txt“
#define Y_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\Y.txt“
#define U_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\U.txt“
#define UBL_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\UBL.txt“
#define JCB_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\JCB.txt“
#define DELEF_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\DELEF.txt“
#define NEWVALUE_DATA_FILENAME “D:\\desktop\\chaoliu\\chaoliu\\NEWVALUE.txt“
#define NETCOM_DATA_FINENAME “D:\\desktop\\chaoliu\\chaoliu\\NETCOM.txt“
#define eps 0.0001
#define pi 3.1415926535
struct NodeData
{
unsigned int Index; //node index
unsigned int Type; //node type :PQ:1PV:2balance point:0
float FirstInput; //PQ or PV:actice powerbalance point:V
float SecondInput; //PQ:reactive powerPV:Vbalance point:angle
};
struct LineData
{
unsigned int Index; //line index
unsigned int Iftran; //line type: not transformer: 1 transformer: 2
unsigned int start;
unsigned int end;
float R; //PQ or PV:actice powerbalance point:V
float X; //PQ:reactive powerPV:Vbalance point:angle
float B_2; //transformer: k not transformer:B_2
};
struct NodeData gNodeData[NODE_TOTAL_NUM];
struct LineData gLineData[LINE_TOTAL_NUM];
double YG[NODE_TOTAL_NUM][NODE_TOTAL_NUM] = { 0 } YB[NODE_TOTAL_NUM][NODE_TOTAL_NUM] = { 0 }; //导纳矩阵
double Gl[LINE_TOTAL_NUM] = { 0 } Bl[LINE_TOTAL_NUM] = { 0 }; //支路导纳
double e[NODE_TOTAL_NUM] = { 0 } f[NODE_TOTAL_NUM] = { 0 }; //电压
double P[NODE_TOTAL_NUM] = { 0 } Q[NODE_TOTAL_NUM] = { 0 }; //功率
double DeltaP[NODE_TOTAL_NUM-1] = { 0 } DeltaQU2[NODE_TOTAL_NUM-1] = { 0 }; //两个小的不平衡列向量
double DeltaPQ[2 * (NODE_TOTAL_NUM - 1)]; //不平衡总列向量
double Jacobi[2 * NODE_TOTAL_NUM][2 * NODE_TOTAL_NUM] = { 0 }; //雅可比矩阵
double Deltaef[2 * (NODE_TOTAL_NUM -1)] = { 0 }; //总电压偏差量
double Deltaf[NODE_TOTAL_NUM - 1] = { 0 } Deltae[NODE_TOTAL_NUM - 1] = { 0 }; //横纵电压偏差量
int Count_num=0; //迭代次数
void test()
{
NEquation ob1;
ob1.SetSize(2);
ob1.Data(0 0) = 1;
ob1.Data(0 1) = 2;
ob1.Data(1 0) = 2;
ob1.Data(1 1) = 1;
ob1.Value(0) = 4;
ob1.Value(1) = 6;
ob1.Run();
printf(“x1=%f\n“ ob1.Value(0));
printf(“x2=%f\n“ ob1.Value(1));
}
void GetData()
{
FILE* fp;
int i;
fp = fopen(NODE_DATA_FILENAME “rb“);//open node.txt
for (i = 0; i < NODE_TOTAL_NUM; i++)
{
fscanf(fp
- 上一篇:常用的100个经典C语言程序
- 下一篇:FFT的C语言实现代码
相关资源
- 电力系统潮流计算-牛顿拉夫逊法
- 潮流计算C++程序
- 电力系统潮流计算通用程序
- PQ法潮流计算IEEE4、5、14、30、57、11
- 电力系统短路程序
- 基于VC++的电力图形软件的电力图元连
- C语言实现P-Q分解法潮流计算
- 潮流计算IEEE4、5、14、30、57、118、3
- 潮流计算程序以IEEE标准9节点为例
- IEEE30节点系统潮流计算C程序
- 电力网潮流计算C++实现
- 实现104规约源代码
- 潮流计算 高斯赛德尔法
- PQ分解法电力系统潮流计算c#版本
- C语言潮流计算
- 牛顿法潮流计算C++语言编写
- 33节点前推回代潮流计算c程序
- c++电力系统潮流程序
- c语言编写的PQ分解法潮流程序有详细
- 电力系统潮流计算C语言程序
- 电力系统33节点粒子群算法。(一般用
- 牛顿拉夫逊潮流计算c语言
- 前推回带潮流计算
评论
共有 条评论