📄 暂态计算程序.cpp
字号:
#include<iostream>
#include<cmath>
using namespace std;
void main()
{ int N ,Ni,f;
double P0,Q0,V0,Tj,dt,E0,P2m,P3m,dt0,dtjx,dth;
double B[3],P[100],GJ[100],GJ0[100],DGJ[100],DGJ0[100],JSD[100],JSD0[100],DJSD[100],DJSD0[100];
const double Pi=3.14159;
for(int i=0;i<100;i++)
{
GJ[i]=0;GJ0[i]=0;DGJ[i]=0;DGJ0[i]=0;JSD[i]=0;JSD0[i]=0;DJSD[i]=0;DJSD0[i]=0;
}
P0=1;Q0=0.2;V0=1;Tj=8.18;dt=0.05;N=50;Ni=3;f=50;
B[0]=0.799;B[1]=2.804;B[2]=1.041;
E0=sqrt(pow((V0+Q0*B[0]/V0),2)+pow((P0*B[0]/V0),2));
dt0=atan(P0*B[0]/(V0*(V0+Q0*B[0]/V0)));
GJ[0]=dt0*180/Pi;
dt0=dt0*180/Pi;
JSD[0]=1;
P2m=E0*V0/B[1];
P3m=E0*V0/B[2];
for(int i=0;i<100;i++)
{ if(i<Ni)
P[i]=P2m;
else
{P[i]=P3m;}
}
dth=Pi-asin(P0/P3m);
dth=dth*180/Pi;
dtjx=acos((P0*(dth-dt0)*Pi/180+P3m*cos(dth*Pi/180)-P2m*cos(dt0*Pi/180))/(P3m-P2m));
dtjx=dtjx*180/Pi;
cout<<"极限切除角dtjx="<<dtjx<<endl;
for (int k=0;k<N;k++)
{
DGJ[k]=(JSD[k]-1)*360*f;
DJSD[k]=(P0-P[k]*sin(GJ[k]*Pi/180))/Tj;
GJ0[k]=GJ[k]+DGJ[k]*dt;
JSD0[k]=JSD[k]+DJSD[k]*dt;
DGJ0[k]=(JSD0[k]-1)*360*f;
DJSD0[k]=(P0-P[k]*sin(GJ0[k]*Pi/180))/Tj;
GJ[k+1]=GJ[k]+(DGJ[k]+DGJ0[k])*dt/2;
JSD[k+1]=JSD[k]+(DJSD[k]+DJSD0[k])*dt/2;
cout<<"功角 GJ=:";
cout<< GJ[k]<<"\t"<< endl;
}
cout<<"输出功角 GJ=:"<<endl;
for(int i=0;i<N;i++)
cout<< GJ[i]<<"\t";
cout<<endl;
int ccc;
cin>>ccc;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -