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

📄 maparm.h

📁 电力系统稀疏矩阵计算类,用法范例代码,包括三个目录,MALIB(类),MATEST(使用范例),INCLUDE(*.H),是我编写的电力系统能量管理系统基础类之一.
💻 H
字号:
#ifndef MAPARM#define MAPARM 1//************************************************************************// maparm - matrix operational parameters//************************************************************************struct gmatrixst
{
   int    item;                   
   struct orderst   *order_rowpt; 
   struct orderst   *orderpt;     
   struct gmatrixst *gmatrixpt;   
   double element;  
   
   //修正PQ分解法系数矩阵B'分解后的元素  mdn  04-11-10
   double xij;
};struct statest
{
   struct orderst *orderpt;     
   struct linkst  *linkpt;    //是state的linkpt 
   struct statest *anchorpt;    
   int connection_cnt;     //  连接数(与所含列数相等),节点度   
   int maamtrx_itm;        //  = mastatept->maamtrx_itm;
   int maamtrx_cnt;        //  = mastatept->maamtrx_cnt;      
   int stateitm;           //  行号    
   int cnt;                //  与connection_cnt意义相同,用于校核计算   
   struct
   {                              
      unsigned active      : 1; 
      unsigned hole        : 1; 
      unsigned zero_diag   : 1; 
      unsigned reorder     : 1; 
      unsigned fillin_zero : 1; 
      unsigned spare       :27; 
   } stat;
};
struct linkst
{
   struct  statest  *statept; 
   struct  orderst  *orderpt;
   struct  linkst   *linkpt; 
   double  element;   
   
   //支路电抗倒数  mdn  04-11-10
   double xij;
   //
};struct orderst
{
   int item;                  
   int mastate_itm;              
   struct
   {                           
      unsigned  active     :  1;  
      unsigned  spare      : 31;  
   } orderstat;
   double  diag;                  

   struct  maamtrxst  *cmtrxpt;   
   int     cmtrxcnt;              
   struct  gmatrixst  *gmatrixpt; 
   int     gmatrixcnt;            
   struct  gmatrixst  *gmatrix_colpt;      
   struct  gmatrixst  *gmatrix_last_colpt; 
    
   //修正PQ分解法用  mdn  04-11-11
   double  diag1;
   //

};

//matriangstruct workst
{
   int    singular_mastatept;     
   int    size;      
   char   *basept;    
   struct linkst    *linkpt;    
   struct orderst   *orderpt;   
   struct gmatrixst *gmatrixpt; 
   int    gmatrixitm;           
   struct gmatrixst *gmatrix_pt;
   struct linkst   *new_itempt; 
   struct linkst   *garbagept;  
   struct linkst   *headpt;     
   struct linkst   *tailpt;     
   int    nwork;                
   int    nflop;                
};
//optimstruct oporderst
{
   struct  opstatest  *statept;  
   int     orderitm;           
};
struct numconst   //存链表指针
{
   struct  oplinkst   *linkpt;  
};struct opworkst          //开辟临时空间用,仅一条记录
{
   int     off_diagonalpt;        
   struct  opstatest  *statept;     
   struct  oporderst  *orderpt;     
   struct  oplinkst   *linkpt;      
   struct  oplinkst   *garbagept;   
   struct  oporderst  *last_orderpt; 
   struct  oporderst  *skip_orderpt;
   int     off_diagonal;          
   int     num_zero_diagonal;  //零对角元素数    
   int     num_zero_fillin;    //    
   struct
   {                              
      unsigned int overflow  : 1; 
      unsigned int spare     :31; 
   }  stat;
};struct opstatest
{
   struct oporderst *orderpt;     
   struct oplinkst  *linkpt;    //是state的linkpt 
   struct opstatest *anchorpt;    
   int connection_cnt;     //  连接数(与所含列数相等),节点度   
   int maamtrx_itm;        //  = mastatept->maamtrx_itm;
   int maamtrx_cnt;        //  = mastatept->maamtrx_cnt;      
   int stateitm;           //  行号    
   int cnt;                //  与connection_cnt意义相同,用于校核计算   
   struct
   {                              
      unsigned active      : 1; 
      unsigned hole        : 1; 
      unsigned zero_diag   : 1; 
      unsigned reorder     : 1; 
      unsigned fillin_zero : 1; 
      unsigned spare       :27; 
   } stat;
};
struct oplinkst
{
   struct  opstatest  *statept; 
   struct  oplinkst   *linkpt; 
};#endif

⌨️ 快捷键说明

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