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

📄 cnetflow.h

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

#ifndef _CNETFLOW_H
#define _CNETFLOW_H

#include "IFlow.h"
#include <set>
using namespace NM_PSNTP;
using namespace std;

namespace NM_PSNTP
{
class CNetFlow
{
public:
	CNetFlow();
	~CNetFlow();
private:
    int m_app_no;
private:
  AllFlowDevice_T m_allflow_dev_vec;
  vector<Yii_T>   m_yii_vec;//存储导纳矩阵对角元素,共N维。
  vector<Yii_T>   m_yii1_vec;//存储导纳矩阵对角元素,共N维。
  vector<Yij_T>   m_yij1_vec;//存储导纳矩阵上三角元素,共非零元素的个数维。
  vector<Yij_T>   m_yij_vec;//存储导纳矩阵上三角元素,共非零元素的个数维。
  vector<int>     m_nysum_vec;//存储每行非零元素的个数,共N维
  vector<int>     m_nyseq_vec;//存储每行非零元素的个数,共N维

  int             m_node_num;//系统中"母线"个数,也就是N
  int             m_branch_num;//系统中"支路"个数,也就是线路+变压器
  int             m_gn_num;//发电机个数
  int             m_ld_num;//负荷个数
  
  vector<float>   m_node_p;
  vector<float>   m_node_q;
  vector<float>   m_node_priv_p;
  vector<float>   m_node_priv_q;
  vector<NodeVoltage_T> m_ndvolt_vec;
  
  vector<float>   m_DI;//P-θ时,DI为DP/v,在Q-V迭代时,DI为DQ/v
  vector<float>   m_v_vec;//求解出来的节点电压向量
  vector<float>   m_theta_vec;//求解出来的节点向量
  
  //下面的变量存储因子表
  vector<int>     m_nusum_vec;//存储因子表中的上三角矩阵的每行非零元素个数
  vector<float>   m_d_vec;//存储因子表对角元素
  vector<U_T>     m_u_vec;//存储因子表上三角非零元素。
public:
	virtual void Reset();//重置潮流计算
	virtual void SetGraph(AllFlowDevice_T &alldev);
	virtual void SetNodeNum(int node_num);
	virtual void SetAppNo(int app_no){m_app_no = app_no;}
private:
	void FormAdmittanceMatrix();//形成导纳矩阵
	void FormFactorTable(int flag);//形成因子表
	void FormFactorTable1(int flag);//形成因子表
	void BackSubstitution();
	void CalNodePower(int flag);
	void InitNodeVolt();
	void CalError(int flag);
	void CalBranchFlow();
	void AmendVolt(int flag);
};
class  CFlowFactory:public IFlowFactory
{
public :
	virtual int CreatePsntp(IFlow** ppObj)
	{
		*ppObj=(IFlow *)new IFlow;
		return 1;
	}
	virtual int Release()
	{
		delete this;
		return 1;
	}
};
};
#endif

⌨️ 快捷键说明

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