📄 readbasf.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 + -