c语言中调用焓熵表(.txt格式).doc_第1页
c语言中调用焓熵表(.txt格式).doc_第2页
c语言中调用焓熵表(.txt格式).doc_第3页
c语言中调用焓熵表(.txt格式).doc_第4页
c语言中调用焓熵表(.txt格式).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*Water and Steam Parameters */#include conio.h#include stdio.h#include math.h#include string.h#include #include #include #include struct ptf1double v;double h;double s;ptf2;/*hkJ/kg,skJ/(kg.K)*/struct ptg1double v;double h;double s;ptg2;/*hkJ/kg*/struct pt1 double x;double v;double h;double s;pt2;/*skJ/(kg.K)*/struct ps1 double x;double t;double v;double h;ps2;/*hkJ/kg*/struct ph1 double x;double v;double s;double t;ph2;struct pe1 double x;double t;pe2;double psk(double t)/*Saturated pressureat from temperature*/ double psk1; double f10=0.0,-7.691234564,-26.08023696,-168.1706546,64.23285504,-118.9646225,4.16711732,20.9750676,1.0e9,6.0; double zt=(t+273.15)/647.3; double ztt=1.0-zt,pk=0.0; int i=0; for(i=5;i=0;i-) pk=pk*ztt+fi; pk=pk/zt/(1+f6*ztt+f7*pow(ztt,2.0); pk=pk-ztt/(f8*pow(ztt,2)+f9); psk1=exp(pk)*221.2; return(psk1);/*at*/ double tsk(double p) /*Saturated temperature from pressure pat */ double ta,pb,tsk1; ta=100.0*pow(p,0.25);loop11: pb=psk(ta); if(fabs(p-pb)/p)1.0e-7) ta=ta+25*(p-pb)/pow(pb,0.75); goto loop11; else tsk1=ta; return(tsk1); void ptf( double p,double t,struct ptf1*p1)/*Cool water from pressure and temperature*/ double zp,zt,zh,zs,y,z,yp,zv; int i,i1; double a23=6.824687741e3,-5.422063673e2,-2.096666205e4,3.941286787e4,-6.733277739e4, 9.902381028e4,-1.093911774e5,8.590841667e4,-4.511168742e4,1.418138926e4,-2.017271113e3, 7.982692717,-2.616571843e-2,1.52241179e-3,2.284279054e-2,2.421647003e2,1.269716088e-10, 2.074838328e-7,2.17402035e-8,1.105710498e-9,1.293441934e1,1.308119072e-5,6.047626338e-14; double e12=8.438375405e-1,5.362162162e-4,1.720000,7.342278489e-2,4.975858870e-2,6.53715430e-1,1.15e-6,1.5108e-5,1.4188e-1,7.0027531650,2.995284926e-4,2.04e-1; zp=p/221.20; zt=(273.15+t)/647.3; y=1-e0*pow(zt,2)-e1/pow(zt,6); z=y+sqrt(fabs(e2*pow(fabs(y),2)-2*e3*zt+2*e4*zp); zv=a11*e4/pow(z,0.29411760); zv=(zv+(a12+a13*zt+a14*pow(zt,2.0)+a15*pow(e5-zt),10.0)+a16/(e6+pow(zt,19.0); zv=zv-(a17+2*a18*zp+3*a19*pow(zp,2)/(e7+pow(zt,11); zv=zv-a20*pow(zt,18)*(e8+pow(zt,2)*(-3.0/pow(e9+zp),4)+e10); zv=zv+3*a21*(e11-zt)*pow(zp,2)+4*a22/pow(zt,20)*pow(zp,3); p1-v=0.00317*zv; yp=6.0*e1/pow(zt,7)-2*e0*zt; zh=0.0; for(i=10;i=1;i-)zh=zh*zt+(i-2)*ai; zh=a0*zt-zh+a11*(z*(17.0*(z/29.0-y/12.0)+5.0*zt*yp/12.0)+e3*zt-(e2-1)*zt*yp*y)/pow(z,0.29411760); zh=zh+(a12-a14*pow(zt,2)+a15*(9*zt+e5)*pow(e5-zt),9)+a16*(20.0*pow(zt,19)+e6)/pow(e6+pow(zt,19),2)*zp; zh=zh-(12.0*pow(zt,11)+e7)*(a17*zp+a18*pow(zp,2)+a19*pow(zp,3)/pow(e7+pow(zt,11),2); zh=zh+a20*pow(zt,18)*(17.0*e8+19.0*pow(zt,2)*(1.0/(pow(e9+zp),3)+e10*zp); zh=zh+a21*e11*pow(zp,3)+21.0*a22*pow(zp,4)/pow(zt,20); p1-h=zh*70.1204; zs=0.0; for(i1=10;i1=2;i1-)zs=zs*zt+(i1-1)*ai1; zs=a0*log(zt)-zs+a11*(5.0*z/12-(e2-1)*y)*yp+e3)/pow(z,0.29411760); zs=zs+(-a13-2*a14*zt+10*a15*pow(e5-zt),9)+19.0*a16*pow(zt,18)/pow(e6+pow(zt,19),2)*zp; zs=zs-11*pow(zt,10)*(a17*zp+a18*pow(zp,2)+a19*pow(zp,3)/pow(e7+pow(zt,11),2); zs=zs+a20*(18*e8+20*pow(zt,2)*(e10*zp+1.0/pow(e9+zp),3)*pow(zt,17); zs=zs+a21*pow(zp,3)+20*a22*pow(zp,4)/pow(zt,21); p1-s=108.32751430*zs/1000.0; return; void ptg(double p,double t,struct ptg1*p1)/*Superheated steam from pressure and temperature*/ double zp,zt,zv,zh,zs,blp,x,z0,z1,z2,z3,z4,z5,z6,bl; int i,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,j,j1,j2,j3,j4,j5,k,k1; double buv38=6.670375918e-2,8.390104328e-2,4.520918904e-1,-5.975336707e-1,5.958051609e-1, 1.190610271e-1,1.683998803e-1,6.552390126e-3,1.3889838010,2.614670893e-2,1.069036614e-1, -8.847535804e-2,-5.159303373e-1,-9.867174132e-2,-5.809438001e-2,5.710218649e-4,0.00, -3.373439453e-2,0.00,0.00,2.075021122e-1,0.00,0.00,0.00; double zuv38=13.00,18,18,25,32,12.0,24,24,3.0,2.0,10,14,28,11, 18,14,0.0,1.0,0.0,0.0,24,0.0,0.0,0.0; double xul33=14,19,54,0.0,0.0,27, 0.0,0.0,0.0; double bul33=4.006073948e-1,8.636081627e-2,-8.532322921e-1,0.0,0.0,3.460208861e-1,0.0,0.0,0.0; double l0=15.74373327; double l1=-34.17061978; double l2=19.31380707; double b=7.633333333e-1; double b05=28.56067796,-54.38923329,4.330662834e-1,-6.547711697e-1,8.565182058e-2; double b97=193.6587658,-1388.522425,4126.607219,-6508.211677,5745.984054,-2693.088365,523.5718623; double b1=16.83599274,c1= 4.2603211480; zp=p/221.20;zt=(273.15+t)/647.3; bl=l0+l1*zt+l2*pow(zt,2);blp=l1+2.0*l2*zt;x=exp(b*(1-zt);z1=0.0; for( i=0;i=4;i+) z2=0.0; for(j=0;j=2;j+)z2=z2+buvji*pow(x,zuvji); z1=z1+z2*(i+1)*pow(zp,i); z4=0.0; for( i1=0;i1=2;i1+) z2=0.0;z3=0.0; for(j1=0;j1=2;j1+) z2=z2+buvj1i1+5*pow(x,zuvj1i1+5); z3=z3+bulj1i1*pow(x,xulj1i1); z4=z4+z2*(i1+4)*pow(zp,(-i1-5)/pow(pow(zp,(-i1-4)+z3),2); z6=0.0; if(zp=0;i2-) z6=z6*x+b9i2; z6=11*z6*pow(fabs(zp/bl),10); zv=c1*zt/zp-z1-z4+z6;p1-v=0.00317*zv; z0=0.0; for( i3=4;i3=0;i3-) z0=z0*zt+(i3-1)*b0i3; z1=0.0; for( i4=0;i4=4;i4+) z2=0.0; for(j2=0;j2=2;j2+) z2=z2+buvj2i4*(1.0+b*zuvj2i4*zt)*pow(x,zuvj2i4); z1=z1+z2*pow(zp,i4+1); z5=0.0; if(zp0.005) z5=0.0; else for( i5=0;i5=2;i5+) z4=0.0; for(j3=0;j3=2;j3+) z2=0.0;z3=0.0; for(k=0;k=2;k+) z2=z2+xulki5*bulki5*pow(x,xulki5); z3=z3+bulki5*pow(x,xulki5); z4=buvj3i5+5*pow(x,zuvj3i5+5)*(1.0+zuvj3i5+5*b*zt) -b*zt*z2/(z3+1.0/pow(zp,(i5+4)+z4; z5=z5+z4/(z3+1.0/pow(zp,(i5+3); z6=0.0; if(zp=0;i6-) z6=z6*x+b9i6*(1.0+zt*(10.0*blp/bl+b*i6); z6=z6*zp*pow(fabs(zp/bl),10.0); zh=b1*zt-z0-z1-z5+z6 ; p1-h=zh*70.1204; z0=0.0; for(i7=4;i7=0;i7-) z0=z0*zt+i7*b0i7; z0=z0/zt; z1=0.0; for( i8=0;i8=4;i8+) for(j4=0;j4=2;j4+) z1=z1+b*pow(zp,i8+1)*zuvj4i8*buvj4i8*pow(x,zuvj4i8); z5=0.0; if(zp0.005) z5=0.0; else for( i9=0;i9=2;i9+) z4=0.0; for(j5=0;j5=2;j5+) z2=0.0;z3=0.0; for(k1=0;k=2;k+) z2=z2+pow(x,xulk1i9)*bulk1i9*xulk1i9; z3=z3+bulk1i9*pow(x,xulk1i9); z4=z4+(zuvj5i9+5-z2/(1.0/pow(zp,(i9+4)+z3)*buvj5i9+5 *pow(x,zuvj5i9+5); z5=z5+z4/(1.0/pow(zp,(i9+4)+z3); z5=b*z5;z6=0.0; if(zp=0;i0-) z6=z6*x+(10.0*blp/bl+b*i0)*b9i0; z6=z6*zp*pow(zp/bl),10); zs=b1*log(zt)-c1*log(zp)-z0-z1-z5+z6; p1-s=108.32751430*zs/1000.0; return; void pt(double p,double t,struct pt1*p1)/*pat*/ double ts=tsk(p); p1-x=t-ts; if(p1-xx=0)printf(n*Saturated state,You must use other function!*);getch(); elseptf(p,t,&ptf2);p1-v=ptf2.v;p1-h=ptf2.h;p1-s=ptf2.s;p1-x=0.0; elseptg(p,t,&ptg2);p1-v=ptg2.v;p1-h=ptg2.h;p1-s=ptg2.s;p1-x=1.0; return; void ps(double p,double s,struct ps1*p1)/*pat,skJ/(kg.K)*/ double ts,vf,hf,sf,vg,hg,sg,zp,zs,zt,sb,zsb,zsa=0,sa=0; int n; ts=tsk(p); ptf(p,ts,&ptf2);vf=ptf2.v;hf=ptf2.h;sf=ptf2.s; ptg(p,ts,&ptg2);vg=ptg2.v;hg=ptg2.h;sg=ptg2.s; if(ssf) goto loop10; if(sx=1.0;n=1;zp=p/980.7;zs=0.238846*s;loop40: zt=(zs-1.44)*1.1594*log(10.0)+0.25381*1.1594*log(zp); zt=exp(zt); p1-t=1000.0*zt-273.15; if(p1-tt,&ptg2); p1-v=ptg2.v;p1-h=ptg2.h;sb=ptg2.s;zsb=zs; goto loop90;loop30: p1-t=ts;sb=sg;p1-v=vg;p1-h=hg; zt=(273.15+p1-t)/1000.0; zsb=(log(zt)/1.1594-0.25381*log(zp)/log(10.0)+1.44;loop90: p1-x=p1-t-ts; if(p1-x=1.0) goto loop50; p1-x=p1-x+1.0;loop50: if(fabs(s-sb)=5e-8) goto loop1000; if(nx=0.0; p1-t=89.85*s;loop80: ptf(p,p1-t,&ptf2); p1-v=ptf2.v;p1-h=ptf2.h;sb=ptf2.s; p1-x=p1-t-ts; if(fabs(s-sb)t=p1-t+89.85*(s-sb); goto loop80;loop20: p1-x=(s-sf)/(sg-sf);p1-t=ts; p1-v=vf+p1-x*(vg-vf);p1-h=hf+p1-x*(hg-hf); goto loop1000;loop1000: return; void ph(double p,double h,struct ph1*p1) /*pat,hkJ/kg*/ double vf,hf,sf,vg,hg,sg,zh,zt,zhb,ha,hb,ts,zha=0; int n=1; ts=tsk(p);ha=h;ptg(p,ts,&ptg2);vg=ptg2.v;hg=ptg2.h;sg=ptg2.s; ptf(p,ts,&ptf2);vf=ptf2.v;hf=ptf2.h;sf=ptf2.s; if (h=hf) goto loop10; p1-x=0.000;p1-t=0.2195*ha;loop50: ptf(p,p1-t,&ptf2); p1-v=ptf2.v;p1-s=ptf2.s;hb=ptf2.h;p1-x=p1-t-ts; if(fabs(h-hb)t=p1-t+0.238846*(h-hb); goto loop50;loop10: if(hhg) goto loop20; p1-t=ts;p1-x=(h-hf)/(hg-hf); p1-v=vf+p1-x*(vg-vf);p1-s=sf+p1-x*(sg-sf); goto loop1000;loop20: p1-x=1.00; zh=h/4186.8;loop60: zt=(sqrt(0.035081+0.085*(zh-0.4949)-0.1873)/0.08500; p1-t=1000.0*zt-273.15; if(p1-tt,&ptg2); p1-v=ptg2.v; hb=ptg2.h; p1-s=ptg2.s;zhb=zh; goto loop90;loop30: p1-t=ts; hb=hg;p1-v=vg;p1-s=sg; zt=(273.15+ts)/1000.0;zhb=0.08218+pow(0.085*zt+0.1873),2)/0.085 ;loop90: p1-x=p1-t-ts; if(p1-x=1.0) goto loop40; p1-x=p1-x+1.00;loop40: if(fabs(h-hb)1) goto loop70; else zh=0.000238*(h-hb)+zhb ; goto loop80;loop70: zh=zha+(h-ha)*(zhb-zha)/(hb-ha);loop80: n=n+1;ha=hb;zha=zhb;zhb=zh; goto loop60;loop1000:return; void pe(double p,double h,struct pe1*p1) /* Find the parameters from pat,hkJ/kg*/ double hw,hws,hgs,ts; ts=tsk(p);ptf(p,ts,&ptf2);hws=ptf2.h;ptg(p,ts,&ptg2);hgs=ptg2.h; if(hhgs) pe2.x=1.0;pe2.t=h/7.8;hw=0.9*h; while(fabs(hw-h)0.02) ptg(p,pe2.t,&ptg2);hw=ptg2.h;pe2.t=pe2.t-(hw-h)/6.2; else if(h=hgs)pe2.x=1.0;pe2.t=ts; else if(hhws & hhgs)pe2.x=(h-hws)/(hgs-hws);pe2.t=ts; else if(h=hws)pe2.x=0.0;pe2.t=ts; else if(h0.02) ptf(p,pe2.t,&ptf2);hw=ptf2.h;pe2.t=pe2.t-(hw-h)/8.4; return; main() double p,t,hwq,vwq,s,s1;/*pMPa,t,hwqkJ/kg*/ /*You can find the parameters of superheated steam:*/ p=2.4;t=540;ptg(10.197162*p,t,&ptg2);hwq=ptg2.h;vwq=ptg2.v;s=ptg2.s; printf(Presure=%4.3fMPa Temperature=%4.2f,p,t); printf(n SuperheatedSteamEnthalpy=%8.2fkJ/kg,hwq); printf(n SuperheatedSteamEntropy=%8.2fkJ/kgK,s); printf(n SuperheatedSteamVolume=%8.5fm3,vwq); /*You can find the Entropy by Enthalpy and presure:*/ p=2.488;hwq=3300.4807; ph(10.197162*p,hwq,&ph2); printf(nPresure=%5.4fMPa Enthalpy=%8.4fkJ/kg,p,hwq); printf(n Entropy=%4.2fkJ/kgK,ph2.s); printf(n Temperature=%4.2f,ph2.t); printf(n SaturatedTemperature=%4.2f,tsk

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论