haou8吧 关注:37贴子:148
  • 0回复贴,共1

汽轮机计算机辅助设计

只看楼主收藏回复

**************************************************************************
汽轮机计算机辅助设计计算结果:
汽轮机第22级的级前,喷嘴后,级后的参数为:
P0=0.01290 Mpa P1=0.00798 Mpa P2=0.00460 Mpa
H0=2393.97086 KJ/KG H1=2334.80023 KJ/KG H2=2305.48200 KJ/KG
T0=323.90131 K T1=314.49054 K T2=304.56409 K
X0=0.91608 X1=0.89921 X2=0.89559 KJ/KG
V0=10.57761 M^3/KG V1=16.30874 M^3/KG V2=27.31658 M^3/KG
***************************************************************************
级理想比焓降: △Ht=133.63806 KJ/KG 有效比焓降:△Hi=88.48886 KJ/KG
级内功率Pi=2783.85943 Kw 级效率ηi=0.66215
C1=388.39732 C2=201.97636 KJ/KG
ω1=131.59884 ω2=377.00129
估计值的P0与详细计算P0之间的误差为:
┃p01-p0┃
━━━━━=2.8744%其中有部分函数详见:
p0
***************************************************************************
附部分源程序清单:
***************************************************************************
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃程 序 设 计 者 ┃ haou8 ┃
┣━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ 时 间 ┃2000年8月 ┃
┣━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃编译及调试环境:┃V++6.0或Turbo C2.0及以上版本 ┃
┣━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃       ┃ 水蒸汽热力性质计算计算程序 ┃
┃ 参 考 资 料 ┃ --东北电力学院动力系 ┃
┃ ┃ 热工基础教研室 ┃
┃ ┃   一九九六年四月 ┃
┣━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ 备 注 ┃ 该程序源代码原为Fortran语言现改为C语言 ┃
┗━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
**************************************************************************/
/***在文件qlj.h中包含水蒸汽热力性质计算程序,已知任何两个参数计算其它参数**/
#include"qlj.h"
#defineBI0.936//BI为流流量比
#defineCOS(x)cos(x/180*3.1415926)
#defineSIN(x)sin(x/180*3.1415926)
typedef struct qlj_j{//定义汽轮机级参数的数据结构,方便起见L_+用汽轮机课程
//设计参考资料中级的参数序号来定义,其意义详见参考资料
doubleL_01,L_02,L_03,L_04,L_05,L_06,L_07,L_08,L_09,L_10,L_11,L_12,L_13;
doubleL_14,L_15,L_16,L_17,L_18,L_19,L_20,L_21,L_22,L_23,L_24,L_25,L_26;
doubleL_27,L_28,L_29,L_30,L_31,L_32,L_33,L_34,L_35,L_36,L_37,L_38,L_39;
doubleL_40,L_41,L_42,L_43,L_44,L_45,L_46,L_47,L_48,L_49,L_50,L_51,L_52;
doubleL_53,L_54,L_55,L_56,L_57,L_58,L_59,L_60,L_61,L_62,L_63,L_64,L_65;
doubleL_66,L_67,L_68,L_69,L_70,L_71,L_72;
}QLJ_J;
/**************************定义第22级参数********************************/
QLJ_JJ_22={
121.0,2004,2000,0.0134,0.0903,2357.1,314,135.19,520,0.63,57.4,
3.5214,3.4230,11.05,57.65,68.7,370,0.97,360,4.06,0.0086,0.884,
14.9,13210,0.3146,18.3333333333,0,0,62,665,1,116.5,6.78,77.54,
84.32,411,0.95,391,8.21,213.4,22.73,0.0046,0.866,26.45,22750,
0.545,32.883333,0,0,112,665,0.25,110.95,3730,82,0.08,750,0.5,
3,0.0005,0.4,0,0,0,0,0,0,0.8845,12.81,98.05,72.5,3300};
voidset_qlj(QLJ_J *q)/*******初始化汽轮机级的参数为国际单位**********/
{
q->L_01*=1/3.6;q->L_02*=1e-3;q->L_03*=1e-3;q->L_04*=1e6;
q->L_24*=1e-4;q->L_27*=1e-3;q->L_28*=1e-3;q->L_30*=1e-3;
q->L_42*=1e6;q->L_45*=1e-4;q->L_48*=1e-3;q->L_49*=1e-3;
q->L_51*=1e-3;q->L_57*=1e-3;q->L_58*=1e-3;q->L_62*=1e-3;
q->L_63*=1e-3;
}
doubleget_k(doublex)/***********x为干度或为过热度******************/
{
if(x<0){printf("Error:X<0!!!!!!!!\n");return -1.0;}
elseif(x>=0&&x<=1)return(1.135+0.1*x);
elsereturn(1.3);
}
voidTurbine_Design(double p,double h,double xl,QLJ_J *qlj)
{/*汽轮机第22级的详细计算子程序,略加修改可以作为级的详细计算通用子程序*/
double_hf1,_hl1,_hp1,_hx1,_h151,_All_H,c21;
doublew21,w21t,_hb1,xm1,k,M21t,p2cr,ebc,p11_0;
double_hbcr_0,_hb_0,w2cr,w2t1,_hi;
double_hbt1,c11,_hn1,p1cr,p01_0;
double_hncr_0,c1cr,c1t1,b11,bb,_w11,hb=0;
double_ht1,ub,M11,_hn_0,_hn,_hc21,hc21;
/*********************************初始化变量***************************/
double_ht=qlj->L_08,p01=qlj->L_04*10*BI,G=qlj->L_01 *1000/3600*BI;
doubleu=qlj->L_07,a1=qlj->L_26 *3.1415926/180;
doublew11=qlj->L_32,b21=qlj->L_47 *3.1415926/180;
doubleb1=asin(qlj->L_19*SIN(qlj->L_26)/w11);
STATUSs21,_s;
STATUSs_21,f1,f2,f3,s_21b,s_21t,s2cr,s11_0,s11,s1t1,s01_0,s1cr,s01;
set_qlj(qlj);
p=p/1e5;
ph(p,h,&s_21);
ps(p01,s_21.S,&f1);
ph(p01,s_21.H+(f1.H-s_21.H)*(xl),&f2);
ps(p,f2.S,&f3);
//计算各项损失
_ht1=f2.H-f3.H;
loop1:_hf1=qlj->L_56*qlj->L_44/BI/s_21.V;
_hl1=qlj->L_52*_ht1/_ht;
_hp1=(qlj->L_61+qlj->L_67)*_ht1/_ht;
if(s_21.X<1&&s_21.X>0)
_hx1=qlj->L_69*_ht1/_ht*(1-s_21.X)/(1-qlj->L_68);
else_hx1=0;
_h151=qlj->L_41*pow(BI*s_21.V/qlj->L_44,2);
_All_H=_hf1+_hl1+_hp1+_hx1+_h151;
ph(p,h-_All_H,&s_21b);
w21=G*s_21b.V/qlj->L_45;
w21t=w21/qlj->L_37;
_hb1=(w21t*w21t-w21*w21)/2000;
s_21t.H=s_21b.H-_hb1;
ph(p,s_21t.H,&s_21t);
xm1=s_21t.X;
k=get_k(xm1);
if(k==-1){
printf("Error:X<0!!!\n\a\a");
return;
}
ub=1.01;
M21t=G/ub/qlj->L_45/sqrt(k*s_21t.P*1e5/s_21t.V);
if(M21t<=1)
gotoloop2;
p2cr=s_21t.P*pow(M21t,2*k/(k+1));
ebc=pow(2/(k+1),k/(k-1));
p11_0=p2cr/ebc;
ps(p11_0,s_21t.S,&s11_0);
ps(p2cr,s_21t.S,&s2cr);
_hbcr_0=s11_0.H-s2cr.H;
_hb_0=s11_0.H-s_21t.H;
w2cr=sqrt(2*_hbcr_0*1e3);
w2t1=sqrt(2*_hb_0*1e3);
w21=w21t*qlj->L_37;
b21=asin(SIN(qlj->L_47)*w2cr*s_21t.V/w2t1/s2cr.V);
loop2:c21=sqrt(u*u+w21*w21-2*u*w21*cos(b21));
hc21=c21*c21/2000;
w21t=w21/qlj->L_37;
_hb1=(w21t*w21t-w21*w21)/2000;
if(fabs(_hc21-hc21)/_hc21>0.007){_hc21=hc21;goto loop1;}
loop6:_hbt1=(w21*w21-w11*w11)/2000;
hs(s_21b.H+_hbt1,s_21t.S,&s11);
c11=G*(s11.V)/qlj->L_24;
c1t1=c11/qlj->L_18;
_hn1=(c1t1*c1t1-c11*c11)/2000;
ph(s11.P,s11.H-_hn1-hb,&s1t1);
xm1=s1t1.X;
k=get_k(xm1);
M11=G/ub/qlj->L_24/sqrt(k*s11.P*1e5/s1t1.V);
if(M11<=1)
gotoloop5;
p1cr=s11.P*pow(M11,2*k/(k+1));
p01_0=p1cr/ebc;
ps(p1cr,s1t1.S,&s1cr);
ps(p01_0,s1t1.S,&s01_0);
_hncr_0=s01_0.H-s1cr.H;
_hn_0=s01_0.H-s1t1.H;
c1cr=sqrt(2*_hncr_0*1e3);
c1t1=sqrt(2*_hn_0*1e3);
c11=c1t1*qlj->L_18*1.9;
a1=asin(SIN(qlj->L_26)*s11.V/s1cr.V*c1cr/c11);
loop5:_w11=sqrt(c11*c11+u*u-2*c11*u*cos(a1));
b11=asin(c11*sin(a1)/_w11);
bb=b11-b1;
if(fabs((_w11-w11)/_w11)>0.02){
w11=_w11*cos(bb);w21=sqrt(2000*_hbt1+w11*w11);
_w11*=sin(bb);hb=_w11*_w11/4000;
w21t=w21/qlj->L_37;gotoloop6;
}
c1t1=c11/qlj->L_18;
_hn=c1t1*c1t1*(1-qlj->L_18 *qlj->L_18)/2000;
ph(s11.P,s11.H-_hn,&s1t1);
hs(s11.H+c1t1*c1t1/2000,s1t1.S,&s01_0);
s01.H=s01_0.H-qlj->L_14;
hs(s01.H,s01_0.S,&s01);
ps(s11.P,s01.S,&s1t1);
ps(s_21b.P,s11.S,&s_21t);
ps(s_21b.P,s01.S,&s_21);
s21.H=s_21b.H-(w21t*w21t-w21*w21)/2000;
ph(s_21b.P,s21.H,&s21);
ph(p,h,&_s);_ht=s01.H-s_21.H;_hi=s01.H-_s.H;
//汽轮机参数输出
printf("汽轮机第22级的级前,喷嘴后,级后的参数为:\n");
printf("P0=%-15.5fMpa P1=%-15.5fMpa ",s01.P/10,s11.P/10);
printf("P2=%-15.5fMpa\nH0=%-15.5fKJ/KG ",_s.P/10,s01.H);
printf("H1=%-15.5fKJ/KG H2=%-15.5fKJ/KG\n",s11.H,_s.H);
printf("T0=%-15.5fK T1=%-15.5fK ",s01.T+273,s11.T+273);
printf("T2=%-15.5fK\nX0=%-15.5f ",_s.T+273.15,s01.X);
printf("X1=%-15.5f X2=%-15.5fKJ/KG\n",s11.X,_s.X);
printf("V0=%-15.5fM^3/KG V1=%-15.5fM^3/KG ",s01.V,s11.V);
printf("V2=%-15.5fM^3/KG\n****************************",_s.V);
printf("***********************************************\n");
printf("级理想比焓降: △Ht=%-10.5fKJ/KG ",_ht);
printf("有效比焓降:△Hi=%-10.5fKJ/KG\n",_hi);
printf("级内功率Pi=%-31.5fKw 级效率ηi=%-10.5f\n",G*_hi,_hi/_ht);
printf("C1=%-15.5f C2=%-15.5fKJ/KG\n",c11,c21);
printf("ω1=%-15.5fω2=%-15.5f\n",w11,w21);
printf("估计值的P0与详细计算P0之间的误差为:\n┃p01-p0┃\n");
printf("━━━━━=%-6.4f%%\n p0\n",fabs(p01-s01.P)/p01*100);
}
voidmain()/***********************主程序开始***********************/
{/**************p为汽轮机出口点压力,p为出口焓*******************/
doublep=0.0046e6,h=3479.6-(3479.6-2065)*.83;
Turbine_Design(p,h,0.675,&J_22);
}


IP属地:上海1楼2015-08-06 08:29回复