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

📄 homotloa.c

📁 电力系统分析计算 学习调试程序 UNIX / LINUX / CYGWIN 系统使用
💻 C
📖 第 1 页 / 共 4 页
字号:
			  consp=val;        }      } else {        if (FlagLoadX0) {          x0[i]=ACptr->V;          if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }        }        if (FlagUpdateVar) {          ACptr->V=x0[i]+Dx[i];          ACptr->Qg=ACptr->V*ACptr->V*ACptr->Bz;          if (ACptr->V<=0){            count++; val=fabs((ACptr->V-0.00001)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s Vzero %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->V=0.00001;}          else if (Recover && ACptr->Qg>=ACptr->Qmax && ACptr->V>=ACptr->VCont){            count++; val=fabs((ACptr->V-ACptr->VCont)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s Recover%s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmax,val);            ACptr->V=ACptr->VCont;}          else if (Recover && ACptr->Qg<=ACptr->Qmin && ACptr->V<=ACptr->VCont){            count++; val=fabs((ACptr->V-ACptr->VCont)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s Recover%s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmin,val);            ACptr->V=ACptr->VCont;}          else val=0;          if (val>consp) 			  consp=val;          ACptr->Qg=ACptr->V*ACptr->V*ACptr->Bz;        }      }    }    if (PQcont) for(ELptr=ACptr->Reg;ELptr!=NULL;ELptr=ELptr->Next) {      Eptr=ELptr->Eptr;      if(strpbrk(Eptr->Type,"PQNM")) {        i=ACvar[ACptr->N]+1+ACptr->Ncont-Eptr->Ncont;        if (Acont && strpbrk(ACptr->Type,"A")) i++;        if(!strcmp(Eptr->Type,"RP")) {          if (FlagLoadX0) {            x0[i]=Eptr->Ang;            if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }          }          if (FlagUpdateVar) {            Eptr->Ang=x0[i]+Dx[i];            if (Tlim && Eptr->Ang>=Eptr->Tmax){              count++; val=fabs((Eptr->Ang-Eptr->Tmax)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Max %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Ang=Eptr->Tmax;}            else if (Tlim && Eptr->Ang<=Eptr->Tmin){              count++; val=fabs((Eptr->Ang-Eptr->Tmin)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Min %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Ang=Eptr->Tmin;}            else val=0;            if (val>consp) 				consp=val;          }        }        else if(!strcmp(Eptr->Type,"RQ")){          if (FlagLoadX0) {            x0[i]=Eptr->Tap;            if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }          }          if (FlagUpdateVar) {            Eptr->Tap=x0[i]+Dx[i];            if (Tlim && Eptr->Tap<=1/Eptr->Tmax+0.00001){              count++; val=fabs((Eptr->Tap-1/Eptr->Tmax)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Max %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Tap=1/Eptr->Tmax;}            else if (Tlim && Eptr->Tap>=1/Eptr->Tmin-0.00001){              count++; val=fabs((Eptr->Tap-1/Eptr->Tmin)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Min %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Tap=1/Eptr->Tmin;}            else val=0;            if (val>consp) 				consp=val;          }        }        else if(strpbrk(Eptr->Type,"MN")) {          if (FlagLoadX0) {            x0[i]=Eptr->Cvar;            if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }          }          if (FlagUpdateVar) {            Eptr->Cvar=x0[i]+Dx[i];            if (PQlim && Eptr->Cvar>=Eptr->Max){              count++; val=fabs((Eptr->Cvar-Eptr->Max)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Max %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Cvar=Eptr->Max;}            else if (PQlim && Eptr->Cvar<=Eptr->Min){              count++; val=fabs((Eptr->Cvar-Eptr->Min)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %d %s Min %lf\n",Eptr->Type,Eptr->From->Num,Eptr->From->Name,                                              Eptr->To->Num,Eptr->To->Name,val);              Eptr->Cvar=Eptr->Min;}            else val=0;            if (val>consp) 				consp=val;          }        }        else {          if (FlagLoadX0) {            x0[i]=Eptr->Cvar;            if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }          }          if (FlagUpdateVar) Eptr->Cvar=x0[i]+Dx[i];        }      }    }    if (ACptr->Gen!=NULL) {      i=ACptr->Gen->Nvar+1;      if (!strpbrk(ACptr->cont,"E")) {        if (FlagLoadX0) {          x0[i]=ACptr->Gen->Eq;          if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }        }        if (FlagUpdateVar) {          ACptr->Gen->Eq=x0[i]+Dx[i];          if (Elim && ACptr->Gen->Eq>=ACptr->Gen->EqMax) {            count++; val=fabs((ACptr->Gen->Eq-ACptr->Gen->EqMax)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s EqMax %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->Gen->Eq=ACptr->Gen->EqMax;}          else if (Elim && ACptr->Gen->Eq<=ACptr->Gen->EqMin) {            count++; val=fabs((ACptr->Gen->Eq-ACptr->Gen->EqMin)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s EqMin %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->Gen->Eq=ACptr->Gen->EqMin;}          else if (ACptr->Gen->Eq<=0) {            count++; val=fabs((ACptr->Gen->Eq-0.00001)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s EqZero %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->Gen->Eq=0.00001;}          else val=0;          if (val>consp) 			  consp=val;        }      }      else {        if (FlagLoadX0) {          x0[i]=ACptr->Qg;          if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }        }        if (FlagUpdateVar) {          ACptr->Qg=x0[i]+Dx[i];          if (strpbrk(ACptr->Type,"V")) {            if (Recover && ACptr->Gen->Eq>=ACptr->Gen->EqMax && ACptr->Qg>=ACptr->VCont){              count++; val=fabs((ACptr->Qg-ACptr->VCont)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s RecoverEqMax %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);              ACptr->Qg=ACptr->VCont;}            else if (Recover && ACptr->Gen->Eq<=ACptr->Gen->EqMin && ACptr->Qg<=ACptr->VCont){              count++; val=fabs((ACptr->Qg-ACptr->VCont)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s RecoverEqMin %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);              ACptr->Qg=ACptr->VCont;}            else val=0;            if (val>consp) 				consp=val;          }          else {            if (Qlim && ACptr->Qg>=ACptr->Max){              count++; val=fabs((ACptr->Qg-ACptr->Max)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmax,val);              ACptr->Qg=ACptr->Max;}            else if (Qlim && ACptr->Qg<=ACptr->Min){              count++; val=fabs((ACptr->Qg-ACptr->Min)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmin,val);              ACptr->Qg=ACptr->Min;}            else val=0;            if (val>consp) 				consp=val;          }        }      }      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->dg;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->dg=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Vr;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Vr=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Vi;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Vi=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Ir;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Ir=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Ii;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Ii=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Vq;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Vq=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Vd;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Vd=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Iq;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Iq=x0[i]+Dx[i];      i++;      if (FlagLoadX0) {        x0[i]=ACptr->Gen->Id;        if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }      }      if (FlagUpdateVar) ACptr->Gen->Id=x0[i]+Dx[i];      i++;      if (!strpbrk(ACptr->cont,"I")) {        if (FlagLoadX0) {          x0[i]=ACptr->Gen->Ia;          if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }        }        if (FlagUpdateVar) {          ACptr->Gen->Ia=x0[i]+Dx[i];          if (Ilim && ACptr->Gen->Ia>=ACptr->Gen->IaMax) {            count++; val=fabs((ACptr->Gen->Ia-ACptr->Gen->IaMax)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s IaMax %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->Gen->Ia=ACptr->Gen->IaMax;}          else if (ACptr->Gen->Ia<=0) {            count++; val=fabs((ACptr->Gen->Ia-0.00001)/Dx[i]);            if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s IaZero %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);            ACptr->Gen->Ia=0.00001;}          else val=0;          if (val>consp) 			  consp=val;        }      }      else {        if (FlagLoadX0) {          x0[i]=ACptr->Qg;          if (FlagMakeDxZero && (DxZero!=NULL && (DxZero[i] || (flagReduceSystem && x0[i]!=0 && CountSteps>=NumSteps && fabs(Dx[i]/x0[i])<ZeroDx)))) { Dx[i]=0;  DxZero[i]=TRUE; NewNumEq--; }        }        if (FlagUpdateVar) {          ACptr->Qg=x0[i]+Dx[i];          if (strpbrk(ACptr->Type,"V")) {            if (Recover && ACptr->Gen->Ia>=ACptr->Gen->IaMax && ACptr->Qg>=ACptr->VCont){              count++; val=fabs((ACptr->Qg-ACptr->VCont)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s RecoverIaMax %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,val);              ACptr->Qg=ACptr->VCont;}            else val=0;            if (val>consp) 				consp=val;          }          else {            if (Qlim && ACptr->Qg>=ACptr->Max){              count++; val=fabs((ACptr->Qg-ACptr->Max)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmax,val);              ACptr->Qg=ACptr->Max;}            else if (Qlim && ACptr->Qg<=ACptr->Min){              count++; val=fabs((ACptr->Qg-ACptr->Min)/Dx[i]);              if(ExistParameter('d')) fCustomPrint(stderr,"%s %d %s %s %lf\n",ACptr->Type,ACptr->Num,ACptr->Name,Qmin,val);              ACptr->Qg=ACptr->Min;}            else val=0;            if (val>consp) 				consp=val;          }        }      }

⌨️ 快捷键说明

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