⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iflow.h.bak

📁 电力系统潮流程序adsfasdfasfd
💻 BAK
字号:

#ifndef _IFLOW_H
#define _IFLOW_H

#include <map>
#include <set>
#include <vector>
#include <string>
#include "IPsntp.h"
#include "IGraph.h"
using namespace std;
#ifdef _WINDOWS32
	#define FLOW_API __declspec(dllexport)
#else
   #define FLOW_API 
#endif

namespace NM_PSNTP
{
//支路结构
struct Branch_T
{
        DevId_T     dev_id;
	BsNo_T      i;//i,j皆为正是线路,有一个为负号,表示是变压器支路。
	BsNo_T      j;
	float       r;
	float       x;
	float       yk;
};

struct Generator_T
{
        DevId_T     dev_id;
	BsNo_T      i;
	float       p;//发电机的p,q应该是正号。
	float       q;
	float       r;
	float       v;
};

struct Load_T
{
        DevId_T     dev_id;
	BsNo_T      i;
	float       p;//负荷的p,q应该是负号。
	float       q;
	float       r;
	float       v;
};

struct PvNode_T
{
	BsNo_T      i;
	float       v;
};
struct AllFlowDevice_T
{
	vector<Branch_T> branch_vec;//变压器和线路支路数组
	vector<Generator_T> gen_vec;//发电机数组
	vector<Load_T> load_vec;//负荷数组
	vector<PvNode_T> pvnode_vec;//pv节点数组
};

//导纳矩阵的对角元素,即节点的自导纳,N维
struct Yii_T
{
	float     g;
	float     b;
};
//导纳矩阵的上三角元素,即节点的互导纳,非零元素的个数维
struct Yij_T
{
	float     g;
	float     b;
	int        j;//存储非零元素所在列
};
//存储因子表的上下角元素。下三角和上三角是转置关系。
struct U_T
{
	float value;//上三角的值
	int j;//对应的列数
};

//存储节点的电压和角度
struct NodeVoltage_T
{
	float v;//上三角的值
	float theta;//对应的列数
};

class IFlow
{
public:
	virtual void Release() = 0;
	virtual ~IFlow() {};
public:
	virtual void Reset() = 0;//重置潮流计算
	virtual void SetGraph(AllFlowDevice_T &alldev) = 0;
	virtual void SetNodeNum(int node_num) = 0;
};

class  IFlowFactory
{
public :
	virtual int CreateFlow(IFlow** ppObj) = 0;
	virtual int Release() = 0;
};

};
int FLOW_API DllGetFlowFactoryObject(NM_PSNTP::IFlowFactory ** ppObj);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -