输气编程作业.docx
- 文档编号:10961777
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:18
- 大小:85.14KB
输气编程作业.docx
《输气编程作业.docx》由会员分享,可在线阅读,更多相关《输气编程作业.docx(18页珍藏版)》请在冰豆网上搜索。
输气编程作业
姓名:
班级:
学号:
程序一:
#defineN14
#defineR8.31447
#include
#include
voidmain()
{
doublea[58]={0.153832600,1.341953000,-2.998583000,-0.048312280,0.375796500,-1.589575000,
-0.053588470,0.886594630,-0.710237040,-1.471722000,1.321850350,-0.786659250,
2.291290e-9,0.157672400,-0.436386400,-0.044081590,-0.003433888,0.032059050,
0.024873550,0.073322790,-0.001600573,0.642470600,-0.416260100,-0.066899570,
0.279179500,-0.696605100,-0.002860589,-0.008098836,3.150547000,0.007224479,
-0.705752900,0.534979200,-0.079314910,-1.418465000,-5.99905e-17,0.105840200,
0.034317290,-0.007022847,0.024955870,0.042968180,0.746545300,-0.291961300,
7.294616000,-9.936757000,-0.005399808,-0.243256700,0.049870160,0.033733797,
1.874951000,0.002168144,-0.658716400,0.000205518,0.009776195,-0.020487080,
0.015573220,0.006862415,-0.001226752,0.002850908};
intb[58]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,
2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,
4,4,4,4,5,5,5,5,5,6,6,7,7,8,8,8,9,9};
intc[58]={0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,
1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,1,
1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,1,1};
intk[58]={0,0,0,0,0,0,0,0,0,0,0,0,3,2,2,2,4,4,0,0,
2,2,2,4,4,4,4,0,1,1,2,2,3,3,4,4,4,0,0,2,
2,2,4,4,0,2,2,4,4,0,2,0,2,1,2,2,2,2};
floatu[58]={0.0,0.5,1.0,3.5,-0.5,4.5,0.5,7.5,9.5,6.0,12.0,12.5,-6.0,2.0,3.0,2.0,2.0,11.0,-0.5,0.5,
0.0,4.0,6.0,21.0,23.0,22.0,-1.0,-0.5,7.0,-1.0,6.0,4.0,1.0,9.0,-13.0,21.0,8.0,-0.5,0.0,2.0,
7.0,9.0,22.0,23.0,1.0,9.0,3.0,8.0,23.0,1.5,5.0,-0.5,4.0,7.0,3.0,0.0,1.0,0.0};
intg[58]={0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0};
intq[58]={0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,
0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,1};
intf[58]={0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
ints[58]={0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
intw[58]={0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
doubleM[N]={44.0100,28.0135,2.0159,28.0100,16.0430,30.0700,44.0970,
58.1230,58.1230,72.1500,72.1500,86.1770,100.2024,114.2310};
doubleE[N]={241.960600,99.737780,26.957940,105.534800,151.318300,244.166700,298.118300,
324.068900,337.638900,365.599900,370.682300,402.636293,427.722630,450.325022};
doubleK[N]={0.4557489,0.4479135,0.3514916,0.4533894,0.4619255,0.5279209,0.5837490,
0.6406937,0.6341423,0.6738577,0.6798307,0.7175118,0.7525189,0.7849550};
doubleG[N]={0.189065,0.027815,0.034369,0.038953,0.0,0.079300,0.141239,
0.256692,0.281835,0.332267,0.366911,0.289731,0.337542,0.383381};
doubleQ[N]={0.690,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
doubleF[N]={0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
intS[N]={0};
intW[N]={0};
doubleEx[N][N]={{1.0,1.022740,1.281790,1.5,0.960644,0.925053,0.960237,0.906849,0.897362,0.726255,0.859764,0.855134,0.831229,0.808310},
{1.022740,1.0,1.086320,1.005710,0.971640,0.970120,0.945939,0.946914,0.973384,0.959340,0.945520,1.0,1.0,1.0},
{1.281790,1.086320,1.0,1.1,1.170520,1.164460,1.034787,1.3,1.3,1.0,1.0,1.0,1.0,1.0},
{1.5,1.005710,1.1,1.0,0.990126,1.0,1.0,1.0,1.0049,1.0,1.0,1.0,1.0,1.0},
{0.960644,0.971640,1.170520,0.990126,1.0,1.0,0.994635,1.019530,0.898844,1.00235,0.999268,1.107274,0.88088,0.880973},
{0.925053,0.970120,1.164460,1.0,1.0,1.0,1.0,1.0,1.01306,1.0,1.00532,1.0,1.0,1.0},
{0.960237,0.945939,1.034787,1.0,0.994635,1.0,1.0,1.0,1.0049,1.0,1.0,1.0,1.0,1.0},
{0.906849,0.946914,1.3,1.0,1.019530,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.897362,0.973384,1.3,1.0049,0.898844,1.01306,1.0049,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.726255,0.959340,1.0,1.0,1.00235,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.859764,0.945520,1.0,1.0,0.999268,1.00532,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.855134,1.0,1.0,1.0,1.107274,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.831229,1.0,1.0,1.0,0.88088,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.808310,1.0,1.0,1.0,0.880973,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}};
doubleUx[N][N]={{1.0,0.835058,1.0,0.9,0.963827,0.969870,1.0,1.0,1.0,1.0,1.0,1.066638,1.077634,1.088178},
{0.835058,1.0,0.408838,1.0,0.886106,0.816431,0.915502,1.0,0.993556,1.0,1.0,1.0,1.0,1.0},
{1.0,0.408838,1.0,1.0,1.156390,1.616660,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.9,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.963827,0.886106,1.156390,1.0,1.0,1.0,0.990877,1.0,0.992291,1.0,1.00367,1.302576,1.191904,1.205769},
{0.969870,0.816431,1.616660,1.0,1.0,1.0,1.065173,1.25,1.25,1.25,1.25,1.0,1.0,1.0},
{1.0,0.915502,1.0,1.0,0.990877,1.065173,1.0,1.0,1.0049,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.25,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,0.993556,1.0,1.0,0.992291,1.25,1.0049,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.25,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.00367,1.25,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.066638,1.0,1.0,1.0,1.302576,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.077634,1.0,1.0,1.0,1.191904,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.088178,1.0,1.0,1.0,1.205769,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}};
doubleKx[N][N]={{1.0,0.982361,1.0,1.0,0.995933,1.00851,1.0,1.0,1.0,1.0,1.0,0.910183,0.895362,0.881152},
{0.982361,1.0,1.03227,1.0,1.00363,1.00796,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.03227,1.0,1.0,1.02326,1.02034,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.995933,1.00363,1.02326,1.0,1.0,1.0,1.007619,1.0,0.997596,1.0,1.002529,0.982962,0.983565,0.982707},
{1.00851,1.00796,1.02034,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.007619,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,0.997596,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.002529,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.910183,1.0,1.0,1.0,0.982962,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.895362,1.0,1.0,1.0,0.983565,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.881152,1.0,1.0,1.0,0.982707,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}};
doubleGx[N][N]={{1.0,0.982746,1.0,1.0,0.807653,0.370296,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.982746,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.95731,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.807653,1.0,1.95731,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{0.370296,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},
{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}};
inti,j,n,y;
floatx[N],p,T;
doubleZ,Z0=1.0,M0=0;
doubleB=0,Bij,Eij,Gij;
doubleMM,sum,sum1,sum2,SUM1=0,SUM2=0;
doubleCn,U0,G0,Q0,F0,K0;
doublepr,pm,pm1=1.0;
printf("请输入气样编号:
\n");
scanf("%d",&y);
printf("请按顺序输入天然气摩尔组成:
\n");
for(i=0;i scanf("%f",&x[i]); printf("\n绝对压力/MPa: "); scanf("%f",&p); printf("\n绝对温度/T: "); scanf("%f",&T); printf("\n"); for(n=0;n<=17;n++) { sum=0; MM=pow(T,-u[n]); for(i=0;i { for(j=0;j { Eij=Ex[i][j]*pow(E[i]*E[j],0.5); Gij=Gx[i][j]*(G[i]+G[j])/2; Bij=pow(Gij+1-g[n],g[n])*pow(Q[i]*Q[j]+1-q[n],q[n])*pow(pow(F[i]*F[j],0.5)+1-f[n],f[n])*pow(S[i]*S[j]+1-s[n],s[n])*pow(W[i]*W[j]+1-w[n],w[n]); sum+=x[i]*x[j]*Bij*pow(K[i]*K[j],3/2); } } B+=a[n]*MM*sum; } sum1=0; sum2=0; F0=0; G0=0; Q0=0; U0=0; for(i=0;i { F0+=pow(x[i],2)*F[i]; Q0+=x[i]*Q[i]; sum1+=x[i]*G[i]; sum2+=x[i]*pow(E[i],2.5); } for(i=0;i { for(j=i+1;j { G0+=x[i]*x[j]*(Gx[i][j]-1)*(G[i]+G[j]); U0+=(pow(Ux[i][j],5)-1)*pow(E[i]*E[j],2.5); } } G0=sum1+2*G0; U0=pow(pow(sum2,2)+2*U0,0.2); sum1=0; for(i=0;i sum1+=x[i]*pow(K[i],2.5); sum2=0; for(i=0;i { for(j=i+1;j sum2+=x[i]*x[j]*(pow(Kx[i][j],5)-1)*pow(K[i]*K[j],2.5); } K0=pow(pow(sum1,2)+2*sum2,0.2); pr=p*pow(K0,3)/(Z0*R*T); for(n=12;n<18;n++) { Cn=a[n]*pow(G0+1-g[n],g[n])*pow(pow(Q0,2)+Q0-q[n],q[n])*pow(F0+1-f[n],f[n])*pow(U0,u[n])*pow(T,-u[n]); SUM1+=Cn; } for(n=12;n<58;n++) { Cn=a[n]*pow(G0+1-g[n],g[n])*pow(pow(Q0,2)+Q0-q[n],q[n])*pow(F0+1-f[n],f[n])*pow(U0,u[n])*pow(T,-u[n]); SUM2+=Cn*(b[n]-c[n]*k[n]*pow(pr,k[n]))*pow(pr,b[n])*exp(-c[n]*pow(pr,k[n])); } while(fabs(pm1-pm)>=1e-6) {pm=pm1; pr=pow(K0,3)*pm; Z=1+B*pm-pr*SUM1+SUM2; pm1=p/Z/R/T; } pm=pm1; Z=p/pm/R/T; printf("结果为: Z=%.4f\n",Z); } 运行结果: 绝对温度为293,绝对压力为1Mpa 气样1: 气样2: 气样3: 气样4: 气样5: 气样6: 第二个程序 #include #include doubleq[10]={0,3.2,2.6,2.6,2.2,1.8,1.8,1.7,1.9,2.3}; doublel[10]={0.3,0.5,1.4,0.8,1,0.8,1.5,1,0.9,1.1}; voidmain() { printf("取出口为第一站,顺时针依次编号\n然后在输出时进行调整\n"); intsolution(); intname(intj); doubleliuliang(intm); doublediameter(intm); voidQprintf(intf,doubleQ1); voidpprintf(intf,doubleQ1,doubleD); doubleQ1,D; intpoint; point=solution(); printf("求出分点为: %d\n",name(point)); Q1=liuliang(point); printf("分输点流量Q1: %f立方米每天\n",Q1); D=diameter(point); printf("管径为: %fm\n",D); printf("各站间的流量为: \n"); Qprintf(point-1,Q1); printf("各节点的压力为: \n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 作业