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

📄 readbasf.c

📁 电力系统分析计算 学习调试程序 UNIX / LINUX / CYGWIN 系统使用
💻 C
字号:
#include "readdata.h"/* --------- Global Input File --------- */extern FILE *InputDataFile;/* --------------- SVCbusInList  ------------------- */#ifdef ANSIPROTOSVCbusData *SVCbusInList(char *BusName,INDEX N,ACbusData *ptrac,ACbusData *ptrac1)#elseSVCbusData *SVCbusInList(BusName,N,ptrac,ptrac1)char *BusName;INDEX N;ACbusData *ptrac,*ptrac1;#endif{  SVCbusData *ptr,*ptrp,*ptrn;  if(N==0) {    ptrn=dataPtr->SVCbus;    ptrp=NULL;#ifdef WINDOWS    dataPtr->SVCbus= new SVCbusData;#else    dataPtr->SVCbus=(SVCbusData *) malloc(sizeof(SVCbusData));    if (dataPtr->SVCbus==NULL) {      fclose(InputDataFile);      ErrorHalt("Insufficient memory to allocate SVC bus data.");      stopExecute(ERROREXIT);    }#endif    ptr=dataPtr->SVCbus;    if(ptrn!=NULL)ptrn->Prev=ptr;  } else {    ptr=dataPtr->SVCbus;    while (ptr!=NULL){      if(!strcmp(ptr->Name,BusName)) return(ptr);      ptrp=ptr;      ptr=ptr->Next;    }  }  strcpy(ptr->Name,BusName);  ptr->N=0;  strcpy(ptr->Type,"FS");  strcpy(ptr->Cont,"AL");  ptr->Vsvc=0;  ptr->Xth_l=0;  ptr->Xc=0;  ptr->Xl=0;  ptr->AlphaMin=0;  ptr->AlphaMax=0;  ptr->slope=0;  ptr->SVC_base=0;  ptr->Qsvc=0;  ptr->Bv=0;  ptr->alpha_svc=0;  ptr->Vref=0;  ptr->val=0;  ptr->Vvar=0;  ptr->From=ptrac;  ptr->Ctrl=ptrac1;  ptr->Prev=ptrp;  ptr->Next=ptrn;  return(ptr);}/* --------------- TCSCbusInList  ------------------- */#ifdef ANSIPROTOTCSCbusData *TCSCbusInList(char *BusName,INDEX N,ACbusData *ptrac,ACbusData *ptrac1)#elseTCSCbusData *TCSCbusInList(BusName,N,ptrac,ptrac1)char *BusName;INDEX N;ACbusData *ptrac,*ptrac1;#endif{  TCSCbusData *ptr,*ptrp,*ptrn;  if(N==0) {    ptrn=dataPtr->TCSCbus;    ptrp=NULL;#ifdef WINDOWS    dataPtr->TCSCbus=new TCSCbusData;#else    dataPtr->TCSCbus=(TCSCbusData *) malloc(sizeof(TCSCbusData));    if (dataPtr->TCSCbus==NULL) {      fclose(InputDataFile);      ErrorHalt("Insufficient memory to allocate TCSC bus data.");      stopExecute(ERROREXIT);    }#endif    ptr=dataPtr->TCSCbus;    if(ptrn!=NULL)ptrn->Prev=ptr;  } else {    ptr=dataPtr->TCSCbus;    while (ptr!=NULL){      if(!strcmp(ptr->Name,BusName)) return(ptr);      ptrp=ptr;      ptr=ptr->Next;    }  }  strcpy(ptr->Name,BusName);  ptr->N=0;  strcpy(ptr->Type,"FC");  strcpy(ptr->Cont,"X");  ptr->Xc=0;  ptr->Xl=0;  ptr->AlphaMin=0;  ptr->AlphaMax=0;  ptr->Control=0;  ptr->Bset=0;  ptr->TCSC_base=0;  ptr->Ptcsc=0;  ptr->Qtcsck=0;  ptr->Qtcscm=0;  ptr->Be=0;  ptr->alpha_tcsc=0;  ptr->Itcsc=0;  ptr->delta_t=0;  ptr->val=0;  ptr->Max=0;  ptr->From=ptrac;  ptr->To=ptrac1;  ptr->Prev=ptrp;  ptr->Next=ptrn;  return(ptr);}/* --------------- STATCOMbusInList  ------------------- */#ifdef ANSIPROTOSTATCOMbusData *STATCOMbusInList(char *BusName,INDEX N,ACbusData *ptrac,ACbusData *ptrac1)#elseSTATCOMbusData *STATCOMbusInList(BusName,N,ptrac,ptrac1)char *BusName;INDEX N;ACbusData *ptrac,*ptrac1;#endif{  STATCOMbusData *ptr,*ptrp,*ptrn;  if(N==0) {    ptrn=dataPtr->STATCOMbus;    ptrp=NULL;#ifdef WINDOWS    dataPtr->STATCOMbus= new STATCOMbusData;#else    dataPtr->STATCOMbus=(STATCOMbusData *) malloc(sizeof(STATCOMbusData));    if (dataPtr->STATCOMbus==NULL) {      fclose(InputDataFile);      ErrorHalt("Insufficient memory to allocate STATCOM bus data.");      stopExecute(ERROREXIT);    }#endif    ptr=dataPtr->STATCOMbus;    if(ptrn!=NULL)ptrn->Prev=ptr;  } else {    ptr=dataPtr->STATCOMbus;    while (ptr!=NULL){      if(!strcmp(ptr->Name,BusName)) return(ptr);      ptrp=ptr;      ptr=ptr->Next;    }  }  strcpy(ptr->Name,BusName);  ptr->N=0;  strcpy(ptr->Type,"FT");  strcpy(ptr->Cont,"PW");  strcpy(ptr->Cont1,"PW");  ptr->I=0;  ptr->theta=0;  ptr->k=0;  ptr->Vdc=0;  ptr->alpha=0;  ptr->R=0;  ptr->G=0;  ptr->B=0;  ptr->Gc=0;  ptr->Imin=0;  ptr->Imax=0.;  ptr->slope=0;  ptr->P=0;  ptr->Q=0;  ptr->MVA=0;  ptr->Vref=0;  ptr->Contref=0;  ptr->val=0;  ptr->Vvar=0;  ptr->From=ptrac;  ptr->Ctrl=ptrac1;  ptr->Prev=ptrp;  ptr->Next=ptrn;  return(ptr);}

⌨️ 快捷键说明

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