📄 n_r_struct.h
字号:
#ifndef _N_R_STRUCT_STRUCT_
#define _N_R_STRUCT_STRUCT_
//N_R_Struct.h
typedef struct tagNodeParam
{
//节点数据
int nCount;//节点数
int PQCount;//PQ节点数
int PVCount;//PV节点数
CString *pzNodeName;//节点名
int *pTpIndex;//节点编号
int *pType;//节点类型:0:平衡节点 1:PQ节点 2:PV节点
double *pUN;//节点电压的大小(模值)
double *pEn;//节点电压实部
double *pFn;//节点电压虚部
double *pPN;//节点注入有功功率
double *pQN;//节点注入无功功率
double *pUmax;//节点电压运行上限
double *pUmin;//节点电压运行下限
} NodeParam, *LPNodeParam;
typedef struct tagBranchParam
{
int nCount;//支路总数
CString *BranchName;//支路名数组
CString *FirstPortName;//首节点名
CString *LastPortName;//末节点名
int *pFirstIndex;//首节点数组
int *pLastIndex;//末节点数组(是变压器时带负号作标志)、、这样可省去一个一维数组作判断
double *pR;//简化后支路电阻
double *pX;//简化后支路电抗
double *pK_Y0;//输电线充电容纳(忽略充电电阻)or变压器非标准变比(在J侧)
double *pflowFtoL;
double *qflowFtoL;//支路首端到尾端流动的总功率
double *pflowLtoF;
double *qflowLtoF;//支路首端到尾端流动的总功率
double *plost;
double *qlost;//支路的功率损耗
} BranchParam, *LPBranchParam;
typedef struct tagNRParam
{
//导纳矩阵
int nGBCount;//导纳矩阵阶数
double *pG;//导纳矩阵实部n×n
double *pB;//导纳矩阵虚部n×n
int nJacobiCount;//修正量及雅克比矩阵阶数
//修正量:节点注入有功`无功功率及电压大小标么值修正量,节点电压 虚 实部修正量
double *pPQ_Uef;
//雅克比矩阵
double *pJacobi;//雅克比矩阵存储首地址
//牛拉计算后可得到的参数
double PWSL;//有功网损率
double QWSL;//无功网损率
//叠代收敛所要求的精度和最大的迭代次数
int nEps;//迭代精度科学计算法的指数(负整数)
double duEps;//叠代收敛所要求的精度(双精度数)
int Didainum;//最大的迭代次数
int RemainTimes;//剩余迭代次数
} NRParam, *LPNRParam;
struct tagGeneticForPQ {
double *G_Conductance; //节点电导矩阵;个数为N*N维;N为节点个数
double *G_B_hr; //节点忽略电阻形成的电纳矩阵;个数为N*N维;N为节点个数
double *G_B_hb; //节点忽略接地支路形成的电纳矩阵;个数为N*N维;N为节点个数
double *G_B; //节点电纳矩阵;个数为N*N维;N为节点个数
double *G_Voltage; //节点初始电压值;个数为N;N为节点个数;一般是电压估计值
double *G_Phase; //节点初始相角矩阵;个数为N;N为节点个数
double *G_CompQ; //补偿节点初始容量;个数为电容器和电抗器的总个数
double *G_J_gp; //节点注入有功;个数为N;N为节点个数
double *G_J_gq; //节点注入无功;个数为N;N为节点个数
double *G_J_lp; //节点流出有功;个数为N;N为节点个数
double *G_J_lq; //节点流出无功;个数为N;N为节点个数
double *G_Glt; //支路路电导;个数为支路个数
double *G_Blt; //支路电纳;个数为支路个数
double *G_BranchMaxMin; //支路电流约束;个数为支路个数
double *G_FirstVoltage; //初始电压值;个数为N;N为节点个数
double *G_Tapk; //支路的变压器变比;个数为支路个数
double BandWidth; //发电厂电压调节幅度
int *G_NodeNum; //节点号;个数为N;N为节点个数
int *G_CompNode; //补偿节点号;个数为电容器和电抗器的总个数
int G_NodeNumber; //节点个数
int *Control_Node; //控制节点号;一般顺序是:发电机,电容器和电抗器,变压器的首节点和末节点
int G_BranchNumber; //支路数
int *G_Slt; //支路的首节点号;个数为支路个数
int *G_Elt; //支路的末节点号;个数为支路个数
int *pHighVolRank; //发电厂高压侧母线电压等级;
int *G_Nodetype; //节点的类型;个数为N;N为节点个数(pv:'1'、pq:'0'、平衡节点:'2')
char *G_BranchStyle; //支路类型判断;个数为支路个数
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -