📄 gb3321.cpp
字号:
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string.h>
using std::cin;
using std::cout;
using std::endl;
int main()
{
double sqrt(double);
double exp(double);
//循环判断choos3
char choos3;
int blian,VNG;
const double pai=3.14159265, pfgen=1.41421356;
cout <<"请输入并联机组数,发电机额定相电压(v)"<<endl;
cin>>blian>>VNG;
cout<<"请输入Ra(mΩ),Rgb,Xd_jchao,Xd_jshun,Xgb,Td_jchao,Ta"<<endl;
float Ra,Rgb,Xd_jchao,Xd_jshun,Xgb,Td_jchao,Ta;
cin>>Ra>>Rgb>>Xd_jchao>>Xd_jshun>>Xgb>>Td_jchao>>Ta;
cout<<"请输入平均等效电动机参数VNM(v),台数q,Rs(mΩ),Xm_shun(mΩ),Tacm(ms),Tdcm(ms)"<<endl;
int VNM;
float q;
double Rs,Xm,Tac,Tdc;
cin>>VNM>>q>>Rs>>Xm>>Tac>>Tdc;
double Rs_j,Xm_jshun,Tacm_j,Tdcm_j;
Rs_j=Rs/q;
Xm_jshun=Xm/q;
Tacm_j=Tac;
Tdcm_j=Tdc;
do{
float ig_jchao,ig_jshun;
cout <<"是否计算临近汇流排短路电流?"<<endl;
char choos1; //choose1 是否计算临近汇流排
cin>>choos1;
cout<<"choos="<<choos1<<endl;
if(choos1=='y')//临近汇流排部分的计算程序
{
/*cout<<"请输入Ra(mΩ),Rgb,XD_jchao,XD_jshun,Td_jchao,Ta"<<endl;
float Ra,Rgb,Xd_jchao,Xd_jshun,Xgb;
cin>>Ra>>Rgb>>Xd_jchao>>Xd_jshun>>Xgb>>Td_jchao>>Ta;*/
float RA_j,XD_jchao,XD_jshun;
RA_j=Ra+Rgb;
XD_jchao=Xd_jchao+Xgb;
XD_jshun=Xd_jshun+Xgb;
double ZD_jchao,ZD_jshun;
ZD_jchao=sqrt(RA_j*RA_j+XD_jchao*XD_jchao);
ZD_jshun=sqrt(RA_j*RA_j+XD_jshun*XD_jshun);
cout<<"RA_j="<<RA_j<<endl
<<"XD_jchao="<<XD_jchao<<endl
<<"XD_jshun="<<XD_jshun<<endl
<<"ZD_jchao="<<ZD_jchao<<", "<<"ZD_jshun="<<ZD_jshun<<endl; //测试
ig_jchao=VNG/ZD_jchao;
ig_jshun=VNG/ZD_jshun;
//为方便国标
cout<<"ig_jchao="<<ig_jchao<<endl
<<"ig_jshun="<<ig_jshun<<endl;
double Alpha_j;
double Tdcbg,sumt;
sumt=(10*Xgb)/(pai*Ra);
Tdcbg=(Ta+sumt)/(1+Rgb/Ra);
Alpha_j=exp(-10/Tdcbg);
cout<<"Tdcbg="<<Tdcbg<<endl
<<"Alpha_j="<<Alpha_j<<endl;
float Iavg_j,Imaxg_j,Ipg_j,iacg_j,idcg_j;
iacg_j=(ig_jchao-ig_jshun)*exp(-10/Td_jchao)+ig_jshun;
//方便国标
cout<<"iacg_j="<<iacg_j<<endl;
idcg_j=pfgen*ig_jchao*exp(-10/Tdcbg);
Ipg_j=blian*((pfgen*iacg_j)+idcg_j);
double sumg1,sumg2;
sumg1=iacg_j*iacg_j+idcg_j*idcg_j;
sumg2=iacg_j*iacg_j+idcg_j*idcg_j/4;
Iavg_j=(sqrt(sumg1)+2*sqrt(sumg2))*2/3;
Imaxg_j=2*sqrt(sumg1);
//Iavg_j=1/3*(sqrt(iacg_j*iacg_j+idcg_j*idcg_j)+2*sqrt(iacg_j*iacg_j+idcg_j*idcg_j/4));
//Imaxg_j=sqrt(iacg_j*iacg_j+idcg_j*idcg_j);
float Iacm_j,Idcm_j,Ipm_j,Iavm_j,Imaxm_j;//临近汇流排电动机
double suma;
suma=sqrt(Rs_j*Rs_j+Xm_jshun*Xm_jshun);
Iacm_j=VNM*exp(-10/Tacm_j)/suma;
Idcm_j=pfgen*VNM*exp(-10/Tdcm_j)/suma;
Ipm_j=(pfgen*Iacm_j+Idcm_j);
double summ1,summ2;
summ1=sqrt(Iacm_j*Iacm_j+Idcm_j*Idcm_j);
summ2=sqrt(Iacm_j*Iacm_j+Idcm_j*Idcm_j/4);
Iavm_j=(summ1+2*summ2)/3;
Imaxm_j=summ1;
//Iavm_j=Nave*(1/3*(sqrt(Iacm_j*Iacm_j+Idcm_j*Idcm_j)+2*sqrt(Iacm_j*Iacm_j+Idcm_j*Idcm_j/4)));
//Imaxm_j=Nave*sqrt(Iacm_j*Iacm_j+Idcm_j*Idcm_j);//临近汇流排处计算结束
float Ip_j,Iav_j,Imax_j;
Ip_j=Ipm_j+Ipg_j;
Iav_j=Iavm_j+Iavg_j;
Imax_j=Imaxm_j+Imaxg_j;
cout<<"Ipm_j= (kA)"<<Ipm_j<<endl;
cout<<"Iavm_j= (kA)"<<Iavm_j<<endl;
cout<<"Imaxm_j= (kA)"<<Imaxm_j<<endl;
cout<<"Ipg_j= (kA)"<<Ipg_j<<endl;
cout<<"Iavg_j= (kA)"<<Iavg_j<<endl;
cout<<"Imaxg_j= (kA)"<<Imaxg_j<<endl;
cout<<"Ip_j= (kA)"<<Ip_j<<endl;
cout<<"Iav_j= (kA)"<<Iav_j<<endl;
cout<<"Imax_j= (kA)"<<Imax_j<<endl;
}
if(choos1=='n')//远离汇流排部分计算
{
float RA_y,XD_ychao,XD_yshun;
RA_y=(Ra+Rgb)/blian;
XD_ychao=(Xd_jchao+Xgb)/blian;
XD_yshun=(Xd_jshun+Xgb)/blian;
cout<<"请输入Rf,Xf"<<endl;
double Rf,Xf;
cin>>Rf>>Xf;
double Rk,Xk_chao,Xk_shun;
Rk=RA_y+Rf;
Xk_chao=XD_ychao+Xf;
Xk_shun=XD_yshun+Xf;
double Zk_chao,Zk_shun;
Zk_chao=sqrt(Rk*Rk+Xk_chao*Xk_chao);
Zk_shun=sqrt(Rk*Rk+Xk_shun*Xk_shun);
cout<<"Zk_chao="<<Zk_chao<<endl;
cout<<"Zk_shun="<<Zk_shun<<endl;
float Ig_ychao,Ig_yshun;
Ig_ychao=VNG/Zk_chao;
Ig_yshun=VNG/Zk_shun;
double Alpha_y;
double Tdceg,sumta,sumtb;
sumta=10*(Xgb+blian*Xf)/(pai*Ra);//ms 的公式。如果是S的公式不一样
sumtb=1+(Rgb+blian*Rf)/Ra;
Tdceg=(Ta+sumta)/sumtb;
Alpha_y=exp(-10/Tdceg);
cout<<"Alpha_y="<<Alpha_y<<endl;
double Tde_ychao;
double sumya,sumyb;
sumya=1+(Xgb+blian*Xf)/Xd_jchao;
sumyb=1+(Xgb+blian*Xf)/Xd_jshun;
Tde_ychao=(Td_jchao*sumya)/sumyb;
//Tde_ychao=(Xk_chao*XD_jshun*Td_jchao)/(Xk_shun*XD_jchao);
float Ipg_y,Iavg_y,Imaxg_y,Iacg_y,Idcg_y;
Iacg_y=(Ig_ychao-Ig_yshun)*exp(-10/Tde_ychao)+Ig_yshun;
Idcg_y=pfgen*Alpha_y*Ig_ychao;
Ipg_y=(pfgen*Iacg_y+Idcg_y);
double sumg3,sumg4;
sumg3=Iacg_y*Iacg_y+Idcg_y*Idcg_y;
sumg4=Iacg_y*Iacg_y+Idcg_y*Idcg_y/4;
Iavg_y=(sqrt(sumg3)+2*sqrt(sumg4))/3;
Imaxg_y=sqrt(sumg3);//////////////////////////////////远离汇流排电动机计算
//Iavg_y=1/3*(sqrt(Iacg_y*Iacg_y+Idcg_y*Idcg_y)+2*sqrt(Iacg_y*Iacg_y+Idcg_y*Idcg_y/4));
//Imaxg_y=sqrt(Iacg_y*Iacg_y+Idcg_y*Idcg_y);
double Tacem,Tdcem;
Tacem=Tacm_j;
double sumyma,sumymb;
sumyma=Tdcm_j+(1000*Xf)/(100*pai*Rs_j);
sumymb=1+Rf/Rs_j;
Tdcem=sumyma/sumymb;
cout<<"Tacem="<<Tacem<<endl
<<"Tdcem="<<Tdcem<<endl
<<"Xm_jshun="<<Xm_jshun<<endl
<<"Xf="<<Xf<<endl
<<"Rs_j="<<Rs_j<<endl;
//Tdcem=(Xf+Xm_jshun)/(100*pai*(Rs_j+Rf));
float Iacem,Idcem;
double sumb,sumc;
sumb=(Rs_j+Rf)*(Rs_j+Rf)+(Xm_jshun+Xf)*(Xm_jshun+Xf);
sumc=sqrt(sumb);
Iacem=(VNM*exp(-10/Tacem))/sumc;
Idcem=(pfgen*VNM*exp(-10/Tdcem))/sumc;
cout<<"sumc="<<sumc<<endl
<<"sumb="<<sumb<<endl
<<"Iacem="<<Iacem<<endl
<<"Idcem="<<Idcem<<endl;////////////////////////////////检测
//Iacem=(VNM*exp(-10/Tacem))/sqrt((Rs_j+Rf)*(Rs_j+Rf)+(Xm_jshun+Xf)*(Xm_jshun+Xf));
//Idcem=(pfgen*VNM*exp(-10/Tdcem))/sqrt((Rs_j+Rf)*(Rs_j+Rf)+(Xm_jshun+Xf)*(Xm_jshun+Xf));
float Ipm_y,Iavm_y,Imaxm_y;
Ipm_y=pfgen*Iacem+Idcem;
double summ3,summ4;
summ3=sqrt(Iacem*Iacem+Idcem*Idcem);
summ4=sqrt(Iacem*Iacem+Idcem*Idcem/4);
Iavm_y=(summ3+2*summ4)/3;
Imaxm_y=summ3;
//Iavm_y=Nave*(1/3*(sqrt(Iacem*Iacem+Idcem*Idcem)+2*sqrt(Iacem*Iacem+Idcem*Idcem/4)));
//Imaxm_y=Nave*sqrt(Iacem*Iacem+Idcem*Idcem);
float Ip_y,Iav_y,Imax_y;
Ip_y=Ipg_y+Ipm_y;
Iav_y=Iavg_y+Iavm_y;
Imax_y=Imaxg_y+Imaxm_y;
cout<<"Ipg_y= (kA)"<<Ipg_y<<endl;
cout<<"Iavg_y= (kA)"<<Iavg_y<<endl;
cout<<"Imaxg_y= (kA)"<<Imaxg_y<<endl;
cout<<"Ipm_y= (kA)"<<Ipm_y<<endl;
cout<<"Iavm_y= (kA)"<<Iavm_y<<endl;
cout<<"Imaxm_y= (kA)"<<Imaxm_y<<endl;
cout<<"Ip_y= (kA)"<<Ip_y<<endl;
cout<<"Iav_y= (kA)"<<Iav_y<<endl;
cout<<"Imax_y= (kA)"<<Imax_y<<endl;
}
//double ZD_jchao,ZD_jshun;//??????????
//超瞬态短路电流
cout<<"是否继续计算短路电流?y/n"
<<endl;
cin>>choos3;
}while(choos3=='y');
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -