?? powerflow_type.h
字號:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////獲取數據/////////////////////////////////////////////////////////////////////
struct Node_Type
{
int flag,n;
double P,Q,V,Theta;
};
struct GeneratorNode_Type
{
int n;
double P,Q;
};
struct Branch_Type
{
int n1,n2;
double R,X,YK;
};
struct F_GetData_Result_Type
{
int Nn,Ng,Nb;
double V0,Theta0,epsilon;
Node_Type *Node;
GeneratorNode_Type *GeneratorNode;
Branch_Type *Branch;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////統計PV節點和平衡節點/////////////////////////////////////////////////////////////////
struct PVNode_Type
{
int n;
double V;
};
struct BalanceNode_Type
{
int n;
double V,Theta;
};
struct F_FormPVandBalanceNode_Source_Type
{
int Nn;
Node_Type *Node;
};
struct F_FormPVandBalanceNode_Result_Type
{
int Npv;
PVNode_Type *PVNode;
int Np;
BalanceNode_Type *BalanceNode;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////支路排序////////////////////////////////////////////////////////////////////////////
struct F_BranchPaiXu_Source_Type
{
int Nb;
Branch_Type *Branch;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////節點排序////////////////////////////////////////////////////////////////////////////
struct F_NodePaiXu_Source_Type
{
int Nn,Ng;
Node_Type *Node;
GeneratorNode_Type *GeneratorNode;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////形成導納矩陣第一步,不考慮接地支路的影響///////////////////////////////////////////////////////
struct Yii_Type
{
double G,B;
};
struct Yij_Type
{
double G,B;
int n2;
};
struct F_YForm1_Source_Type
{
int Nn,Nb;
Branch_Type *Branch;
};
struct F_YForm1_Result_Type
{
Yii_Type *Yii;
Yii_Type *Yii1;
Yij_Type *Yij;
Yij_Type *Yij1;
int *NYseq;
int *NYsum;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////形成導納矩陣第二步,追加接地支路//////////////////////////////////////////////////////////
struct F_YForm2_Source_Type
{
int Nn,Nb;
Branch_Type *Branch;
Yii_Type *Yii;
Yii_Type *Yii1;
Yij_Type *Yij;
Yij_Type *Yij1;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////形成因子表//////////////////////////////////////////////////////////////////////////
struct U_Type
{
int n2;
double value;
};
struct F_YinZi_Source_Type
{
int flag,Nn,Npv,Np;
PVNode_Type *PVnode;
BalanceNode_Type *BalanceNode;
int *NYseq,*NYsum;
Yii_Type *Yii;
Yij_Type *Yij;
};
struct F_YinZi_Result_Type
{
int *NUsum;
int *NUseq;
double *D;
U_Type *U;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////傳電壓初值//////////////////////////////////////////////////////////////////////////
struct NodalVoltage_Type
{
double V,Theta;
};
struct F_PassV0_Source_Type
{
int Nn;
Node_Type *Node;
};
struct F_PassV0_Result_Type
{
NodalVoltage_Type *NodalVoltage;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////迭代過程中節點功率的計算/////////////////////////////////////////////////////////////
struct NodalPower_Type
{
double P,Q;
};
struct F_CalculatePQ_Source_Type
{
int flag,Nn,Nb;
NodalVoltage_Type *NodalVoltage;
NodalPower_Type *NodalPower;
Yii_Type *Yii;
Yij_Type *Yij;
int *NYseq;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////求最大功率誤差以及DeltaI/////////////////////////////////////////////////////////////
struct F_FormDI_Source_Type
{
int flag,Nn,Ng,Npv,Np;
double *DI;
NodalPower_Type *NodalPower,*GenePower,*LoadPower;
NodalVoltage_Type *NodalVoltage;
PVNode_Type *PVNode;
BalanceNode_Type *BalanceNode;
Node_Type *Node;
GeneratorNode_Type *GeneratorNode;
};
struct F_FormDI_Result_Type
{
int ErrorNode;
double MaxError;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////線性方程組的求解////////////////////////////////////////////////////////////////
struct F_QiuJie_Source_Type
{
int Nn;
double *DI;
U_Type *U;
int *NUsum;
double *D;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////節點輸出數據的形成/////////////////////////////////////////////////////////////////
struct NodeOutData_Type
{
int n;
double V,Theta;
double P_l,Q_l,P_g,Q_g;
};
struct F_NodeDataOut_Source_Type
{
int Nn,Ng,Np;
BalanceNode_Type *BalanceNode;
GeneratorNode_Type *GeneratorNode;
NodalVoltage_Type *NodalVoltage;
NodalPower_Type *GenePower,*LoadPower;
NodeOutData_Type *NodeOutData;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////支路輸出數據的形成/////////////////////////////////////////////////////////////////
struct BranchOutData_Type
{
int i,j;
double Pij,Qij,Pji,Qji;
};
struct F_BranchDataOut_Source_Type
{
BranchOutData_Type *BranchOutData;
int Nb;
Branch_Type *Branch;
NodalVoltage_Type *NodalVoltage;
};
struct F_BranchDataOut_Result_Type
{
double P_loss,Q_loss;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////輸出數據///////////////////////////////////////////////////////////////////////
struct F_OutData_Source_Type
{
int Nn,Nb;
NodeOutData_Type *NodeOutData;
BranchOutData_Type *BranchOutData;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////節點優化///////////////////////////////////////////////////////////////////////
struct F_NodeOpt_Source_Type
{
int Nn,Ng,Nb;
Node_Type *Node;
GeneratorNode_Type *GeneratorNode;
Branch_Type *Branch;
int *NodeOptArray;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////節點還原///////////////////////////////////////////////////////////////////////
struct F_NodeOpt1_Source_Type
{
int Nn,Nb;
int *NodeOptArray;
BranchOutData_Type *BranchOutData;
NodeOutData_Type *NodeOutData;
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class PowerFlow_Type
{
public:
F_GetData_Result_Type F_GetData();//從文件讀入數據;
F_FormPVandBalanceNode_Result_Type F_FormPVandBalanceNode(F_FormPVandBalanceNode_Source_Type F_FormPVandBalanceNode_Source);//生成PV節點和平衡節點;
void F_BranchPaiXu(F_BranchPaiXu_Source_Type F_BranchPaiXu_Source);//支路排序;
void F_NodePaixu(F_NodePaiXu_Source_Type F_NodePaiXu_Source);//節點排序;
F_YForm1_Result_Type F_YForm1(F_YForm1_Source_Type F_YForm1_Source);//形成導納矩陣第一步,不考慮接地支路的影響;
void F_YForm2(F_YForm2_Source_Type F_YForm2_Source);//形成導納矩陣第二步,追加接地支路;
F_YinZi_Result_Type F_YinZi(F_YinZi_Source_Type F_YinZi_Source);//形成因子表;
F_PassV0_Result_Type F_PassV0(F_PassV0_Source_Type F_PassV0_Source);//送電壓初值;
void F_CalculatePQ(F_CalculatePQ_Source_Type F_CalculatePQ_Source);//迭代過程中節點功率的計算;
F_FormDI_Result_Type F_FormDI(F_FormDI_Source_Type F_FormDI_Source);//求最大功率誤差以及DeltaI;
void F_QiuJie(F_QiuJie_Source_Type F_QiuJie_Source);//線性方程組的求解;
void F_NodeDataOut(F_NodeDataOut_Source_Type F_NodeDataOut_Source);//節點輸出數據的形成;
F_BranchDataOut_Result_Type F_BranchDataOut(F_BranchDataOut_Source_Type F_BranchDataOut_Source);//支路輸出數據的形成;
void F_OutData(F_OutData_Source_Type F_OutData_Source);//輸出數據;
void F_NodeOpt(F_NodeOpt_Source_Type F_NodeOpt_Source);//節點優化
void F_NodeOpt1(F_NodeOpt1_Source_Type F_NodeOpt1_Source);//節點還原;
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -