Bài tập
+ Phần 1: Tập hợp các chương trình đã thức hiện trên lớp về các nội dung: vào/ra dữ liệu, xử lý mảng, con trỏ, hàm.
+ Phần 2: Lập chương trình tính các thông số nhiệt động của môi chật nhiệt.
- Lựa chọn một loại môi chất
- Xây dựng các quan hệ giữa các thông số nhiệt động.
+ Phần 3: Lập chương trình giải một bài toán nhiệt(tính toán chu trình nhiệt hoặc thiết bị nhiệt). Ví dụ một số bài toán sau:
- Tính nhiệt thiết bị trao đổi nhiệt
- Tính nhiệt thiết bị sấy
- Tính nhiệt chu trình máy lạnh nén hơi 1 cấp
- Tính toán cân bằng nhiệt và cân bằng vật chất cháy lò hơi
- Tính nhiệt tầng Tua bin hơi nước
- Tính nhiệt chu trình Tua bin khí
- Tính nhiệt chu trình Tua bin hơi nước.
32 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2130 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài tập tin ứng dụng: Lập trình C, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TIN HäC øNG DôNG
Bµi tËp
+ PhÇn 1: TËp hîp c¸c ch¬ng tr×nh ®· thøc hiÖn trªn líp vÒ c¸c néi dung: vµo/ra d÷ liÖu, xö lý m¶ng, con trá, hµm.
+ PhÇn 2: LËp ch¬ng tr×nh tÝnh c¸c th«ng sè nhiÖt ®éng cña m«i chËt nhiÖt.
- Lùa chän mét lo¹i m«i chÊt
- X©y dùng c¸c quan hÖ gi÷a c¸c th«ng sè nhiÖt ®éng.
+ PhÇn 3: LËp ch¬ng tr×nh gi¶i mét bµi to¸n nhiÖt(tÝnh to¸n chu tr×nh nhiÖt hoÆc thiÕt bÞ nhiÖt). VÝ dô mét sè bµi to¸n sau:
- TÝnh nhiÖt thiÕt bÞ trao ®æi nhiÖt
- TÝnh nhiÖt thiÕt bÞ sÊy
- TÝnh nhiÖt chu tr×nh m¸y l¹nh nÐn h¬i 1 cÊp
- TÝnh to¸n c©n b»ng nhiÖt vµ c©n b»ng vËt chÊt ch¸y lß h¬i
- TÝnh nhiÖt tÇng Tua bin h¬i níc
- TÝnh nhiÖt chu tr×nh Tua bin khÝ
- TÝnh nhiÖt chu tr×nh Tua bin h¬i níc.
- ...
Thùc hiÖn
1. PhÇn 1:Tãm t¾t lý thuyÕt cña ng«n ng÷ lËp tr×nh C
a.Vµo ra d÷ liÖu
HiÓn thÞ d÷ liÖu ra mµn h×nh: printf();
Có ph¸p: printf(,[danh s¸ch ®èi]);
VD: HiÓn thÞ gi¸ trÞ x=20 ra mµn h×nh
int x;
x=20;
printf("Gia tri cua x la:%d",x);
Vµo d÷ liÖu tõ bµn phÝm scanf();
Có ph¸p: scanf(,{danh s¸ch ®èi});
VD: NhËp gi¸ trÞ thùc x tõ bµn phÝm.
float x;
printf("Vao gia tri cua x:");
scanf("%f",&x);
b.Xö lý m¶ng
Khai b¸o m¶ng:
Có ph¸p: tªnm¶ng[kÝch thíc];
VD:
int x[10]; -> cã nghÜa lµ m¶ng x cã nhiÒu nhÊt 10 phÇn tö nguyªn
Truy cËp c¸c phÇn tö m¶ng
Có ph¸p: tªnm¶ng[chØ sè]
VD: Ta cã m¶ng nguyªn x cã nhiÒu nhÊt 10 phÇn tö, ta muèn truy cËp vµo phÇn tö thø 5 cña nã ®Ó g¸n gi¸ trÞ cho 1 biÕn y kh¸c, ta lµm nh sau:
int x[10],y;
y=x[4];s
NhËp d÷ liÖu cho m¶ng
Có ph¸p:- Sö dông vßng lÆp for
- Sö dông biÕn trung gian ®Ó nhËp d÷ liÖu
VD: Vµo d÷ liÖu cho m¶ng nguyªn x cã 10 phÇn tö:
int x[10],y,i,n;
n=10;
for(i=0;i<n;i++)
{
printf("x[%d]=",i+1);
scanf("%d",&y);
x[i]=y;
}
HiÓn thÞ d÷ liÖu m¶ng
Có ph¸p:-Sö dông vßng lÆp for, mçi vßng lÆp sÏ cho ta 1 gi¸ trÞ cña m¶ng.
VD: HiÓn thÞ gi¸ trÞ cña m¶ng x nguyªn võa nhËp ë trªn
int x[10],i,n;
n=10;
for(i=0;i<n;i++)
printf("\nx[%d]=%d",i+1,x[i]);
Mét sè gi¶i thuËt
- TÝnh tæng
VD:TÝnh tæng cña m¶ng nguyªn x
int x[10],i,n,T;
n=10;T=0;
for(i=0;i<n;i++)
T+=x[i]; //T=T+x[i];
- T×m biÕn
VD:T×m xem cã bao nhiªu phÇn tö m¶ng x cã gi¸ trÞ lín h¬n 5.
int x[10],i,n,dem;
n=10;dem=0;
for(i=0;i<n;i++)
if (x[i]>5) dem=dem+1;
- X¾p xÕp
VD: X¾p xÕp m¶ng x theo thø tù t¨ng dÇn:
int x[10],i,j,n,tg;
n=10;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if (x[i]>x[j])
{
tg=x[i];x[i]=x[j];x[j]=tg;
}
c.Xö lý con trá
Khai b¸o
Có ph¸p:*;
VD: Khai b¸o biÕn con trá thùc víi tªn lµ px.
double *px;
To¸n tö &,*
- To¸n tö &:
&(tªn biÕn) -> ®Þa chØ biÕn
VD: printf("\n Dia chi cua bien x la:&p",&x);
- To¸n tö *:
* -> tr¶ l¹i n«i dung cña « nhí(biÕn) mµ con trá trá tíi.
VD: x=5.7;
px =&x;
printf("Gia tri cua x la:%lf",*px);
- C¸c phÐp to¸n víi con trá:
* G¸n 1 ®Þa chØ cho 1 con trá
int i,*pi;
pi=&i;
* G¸n c¸c con trá cïng kiÓu
int *pi2;
pi2=pi;
* Céng trõ con trá víi sè nguyªn
Chó ý: con trá sÏ trá tíi « nhí cã ®Þa chØ t¨ng(gi¶m) 1 sè lîng b»ng sè byte t¬ng øng víi kiÓu d÷ liÖu cña con trá
VD: px -> cã gi¸ trÞ ACF1
px+1 -> cã gi¸ trÞ ACF9
- Con trá void();
Lµ kiÔu void rçng, kh«ng t¬ng øng víi bÊt kú « nhí nµo, cã thÓ nhËn ®îc ®Þa chØ cña bÊt kú 1 biÕn nµo.
VD: int *pi;
double *px;
void *pp;
pp=pi;
pp=px;
- Liªn hÖ gi÷a con trá vµ m¶ng
Khi khai b¸o 1 m¶ng th× ®ång thêi cã 1 h»ng con trá cã tªn trïng víi tªn cña m¶ng trá vµo phÇn tñ ®Çu tiªn cña m¶ng.
Do ®ã muèn truy cËp ph©ng tö thø i cña m¶ng x cã nhiÒu c¸ch
VD: int x[10],*pi,i;
pi=x;
printf("Gia tri phan tu thu %d cua mang la%d",i+1,*(x+i));
printf("Gia tri phan tu thu %d cua mang la%d",i+1,pi[i]);
printf("Gia tri phan tu thu %d cua mang la%d",i+1,*(pi+i));
printf("Gia tri phan tu thu %d cua mang la%d",i+1,x[i]);
- Chuçi kÝ tù
Chuçi kÝ tù lµ 1 m¶ng kÝ tù. Do ®ã khi thao t¸c víi nã ta thao t¸c nh víi 1 m¶ng c¸c kÝ tù vµ cã dïng con trá kÝ tù
Lu ý: tríc hµm vµo d÷ liÖu ký tù, chuçi ký tù nªn dïng hµm xo¸ hÕt c¸c ký tù cßn lu l¹i trong bé nhíbµn phÝm.
d.Xö lý hµm
Khai b¸o hµm:T¹o hµm sau ch¬ng tr×nh chÝnh song khai b¸o hµm tríc ch¬ng tr×nh chÝnh. ViÖc t¹o vµ khai b¸o thÕ nµo sÏ ®îc cô thÓ qua c¸c vÝ dô.
§Þnh nghÜa hµm:[KiÓu DL tr¶ vÒ]([D/s¸ch c¸c tham sè])
VD:
#include
#include
#include
double vhn(double,double)
void main()
{
double p,t,v;
p=600;t=500;v=vhn(p,t);
printf(“\n The tich rieng hoi nuoc tai %10.2lf at va %10.2lf oC la %10.2lf m3/kg”,p,t,v);
getch();
}
double vhn(double p,double t)
{
double tg;
t +=273.15;
tg=8314*t/p-1.224E6/pow(t,3);
return tg;
}
Mét sè ch¬ng tr×nh:
#include
#include
int A[22][32],B[22][32],C[22][32];
int i,j,x,m,n,p,k;
void main()
{
printf("\n nhap so hang ma tran A: m=");
scanf("%d",&m);
printf("\n nhap so cot ma tran A: n=");
scanf("%d",&n);
printf("\n nhap so cot ma tran B: p= ");
scanf("%d",&p);
printf("Hay nhap cac phan tu cua ma tran:\n");
printf(" Nhap ma tran A:\n");
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{printf("A[%d][%d]=",i,j);
scanf("%d",&x); A[i][j]=x;}
printf(" Nhap ma tran B:\n");
for(i=1;i<=n;i++)
for(j=1;j<=p;j++)
{ printf("B[%d][%d]=",i,j);
scanf("%d",&x);
B[i][j]=x;
}
for(i=1;i<=m;i++)
for(j=1;j<=p;j++)
{
x=0;
for(k=1;k<=n;k++)
x+=A[i][k]*B[k][j];
C[i][j]=x;
}
printf("\n Ma tran A la:\n");
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
printf("%5d",A[i][j]);
printf("\n");
}
printf("\n Ma tran B la:\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=p;j++)
printf("%5d",B[i][j]);
printf("\n");
}
printf("\n Tich hai ma tran AB la:\n");
for(i=1;i<=m;i++)
{
for(j=1;j<=p;j++)
printf("%5d",C[i][j]);
printf("\n");
}
for(i=1;i<=p;i++)
{
float x; x=0;
for(j=1;j<=m;j++)
x=x+C[j][i];
printf("\n Gia tri trung binh cua cot %d la: %lf",i,x/m);
}
}
KÕt qu¶ ch¹y:
#include
#include
main()
{
double x[30],y[30],l[30],p,xo,yo,tg,t,tt,xx,yy;
int i,j,n,m,k,a;
printf("\n nhap n=");
scanf("%d",&n); m=0;k=0; a=0;
do
{
for(i=0;i<=n+a;i++)
{
printf("x[%d]=",i+m);
scanf("%lf",&tg);
x[i+m]=tg;
}
for(i=0;i<=n+a;i++)
{
printf("y[%d]=",i+m);
scanf("%lf",&tg);
y[i+m]=tg;
}
printf("\n ta co bang sau:");
printf("\nx:");
for(i=0;i<=n;i++)
printf("%5.2lf ",x[i]);
printf("\n");
for(i=0;i<4*n+5;i++)
printf("--");
printf("\ny:");
for(i=0;i<=n;i++)
printf("%5.2lf ",y[i]);
do
{
printf("\n nhap xo=");
scanf("%lf",&xo);
p=0;
for(j=0;j<=n;j++)
{
l[j]=1;
for(i=0;i<=n;i++)
if(i!=j)
l[j]*=(xo-x[i])/(x[j]-x[i]);
p+=y[j]*l[j];
}
yo=p;
printf("\n gia tri tai %10.4lf la%10.4lf",xo,yo);
printf("\nkhong muon tiep tuc nhap xo thi an 1 en ter");
scanf("%lf",&t);
}
while(t!=1);
printf("\n khong muon tiep tuc nhap n thi an 2 enter");
scanf("%lf",&tt);
if(tt!=2)
{
printf("\n so diem ban muon nhap them la:");
scanf("%d",&k); m=n+1;n=n+k; a=k-n-1;
}
}
while(tt!=2);
printf("\n nhap xx=");
scanf("%lf",&xx);
if(xx<x[0])
i=0;
if(xx>x[n])
i=n;
if(xx>=x[0]&&xx<=x[n])
for(i=0;i<=n;i++)
if(xx>=x[i]&&xx<=x[i+1])
break;
yy=y[i]+(xx-x[i])*(y[i+1]-y[i])/(x[i+1]-x[i]);
printf("\n gia tri tai x=%lf la: y=%lf",xx,yy);
getch();
}
KÕt qu¶ ch¹y:
#include
#include
main()
{
int n,i,j,k,l,p,q,a;
printf("\n nhap so hang n(<6)=");
scanf("%d",&n);
for(p=0;p<12;p++)
for(i=0;i<n;i++)
{
for(q=0;q<5;q++)
{
for(j=0;j<i+3;j++)
printf("$");
printf(" ");
for(k=0;k<2*n-3-2*i;k++)
printf("*");
if(2*n-3-2*i>0)
printf(" ");
for(l=0;l<i+3;l++)
printf("$");
}
printf("\n");
}
getch();
}
2. PhÇn 2:TÝnh nhiÖt th«ng sè nhiÖt ®éng cña h¬i b·o hoµ Èm
a.Më ®Çu
Trong c¸c bµi to¸n nhiÖt m«i chÊt ®îc sö dông kh¸ nhiÒu lµ R12. Do vËy viÖc tra cøu c¸c th«ng sè cña R12 lµ mét qu¸ tr×nh thêng xuyªn ®îc sö dông khi gi¶i c¸c bµi to¸n liªn quan tíi nã. ViÖc cã mét ch¬ng trinh tra cøu c¸c th«ng sè h¬i R12 sÏ ®em l¹i sù thuËn tiÖn vµ h÷u Ých cho ng¬i sö dông ®Ó gi¶i to¸n.
Trong ch¬ng tr×nh nµy ta míi dõng l¹i ë viÖc tra cøu c¸c th«ng sè cña h¬i b·o hoµ Èm theo th«ng sè nhiÖt ®é t(oc) hay ¸p suÊp p(bar) vµ ®é kh« x.
b.Bµi to¸n
Tra cøu th«ng sè cña h¬i b·o hµo Èm theo th«ng sè t(oc)hay p(bar) vµ ®é kh« x. Trong ®ã c¸c th«ng sè cÇn ph¶i t×m lµ thÓ tÝch riªng v(m3/kg), entanpi i(kj/kg), entropi s(kj/kg.k) ,néi n¨ng u(kj/kg).
Trªn thùc tÕ ®©y lµ mét bµi to¸n nhiÖt ®¬n gi¶n, c¶ vÒ mÆt lËp tr×nh C lÉn lý thuyÕt nhiÖt.
Ta chó ý cac c«ng thøc sau:
s=s’+x(s’’-s’)
i=i’+x(i’’-i’)
v=v’+x(v’’-v’)
u=i-p.v
C¸c gi¸ trÞ s’,s’’,i’,i’’,v’,v’’ ®îc tra tõ b¶ng.
Chóng ta chØ cÇn cã mét b¶ng sè liÖu vµ ®a chóng vµo ch¬ng tr×nh sau ®ã dùa vµo th«ng sè ®a vµo vµ mét sè c«ng thøc nhiÖt ®Ó tra cøu. Tõ ®ã ta cã thÓ hoµn thiÖn mét ch¬ng tr×nh tÝnh nhiÖt c¬ b¶n cña mét m«i chÊt ®· chän.
VÒ thuËt gi¶i bµi to¸n nµy lµ kh¸ ®¬n gi¶n, v× vËy mµ ta kh«ng tr×nh bµy ë ®©y. Chóng ta cã thÓ t×m hiÓu chóng lu«n th«ng qua néi dung bµi gi¶i sau.
c.Néi dung bµi gi¶i:
Chó ý r»ng nhiÖt ®é lµ sè nguyªn : t=-80;-79;-78;,,,,,,,,;78;79;80. nªn ta kh«ng cÇn nhËp vµo.
main()
{
int j,k,index,chon;
float x;
double tt,u,v,i,s,pp,ss1,ss2,hh1,hh2,rr,ff1,ff2;
do
{
printf("\n1:Tinh toan thong so nhiet");
printf("\n2:Bang hoi bao hoa cua R12");
printf("\n3:Thoat");
printf("\nChon muc:");
scanf("%d",&index);
switch(index)
{
case 1:
printf("\n Ban nhap vao nhiet do t hay ap suat p?");
printf("\n Nhap nhiet do t(oc) thi an 1 enter ,nhap ap suat
p(bar) thi an 2 enter");
scanf("%d",&chon);
if(chon==2)
{
printf("\n Ban hay nhap vao ap suat p=");
scanf("%lf",&pp);
if(pp<0.06168)
j=0;
if(pp>41.4490)
j=159;
if(pp>=0.06168&&pp<=41.4490)
for(j=0;j<=159;j++)
if(pp>=p[j]&&pp<=p[j+1])
break;
tt=t[j]+(pp-p[j])*(t[j+1]-t[j])/(p[j+1]-p[j]);
}
if(chon==1)
{
printf("\n Ban hay nhap vao nhiet do cua R12 de tra cac thong so!");
printf(" t(oc)=");scanf("%lf",&tt);
}
do
{
printf("\n Ban hay nhap do kho (0<=x<=1)x=");
scanf("%f",&x);
if((x1))
{
printf("\n Ban da nhap khong dung gia tri cua do kho x!");
printf("\n Ban hay nhap lai!");
}
}
while(x1);
if(tt<-80)
j=0;
if(tt>80)
j=159; k=0;
if(tt>=-80&&tt<=80)
for(j=0;j<=159,k=0;j++)
if(tt>=t[j]&&tt<=t[j++])
k=1;
pp=p[j]+(tt-t[j])*(p[j+1]-p[j])/(t[j+1]-t[j]);
ff1=f1[j]+(tt-t[j])*(f1[j+1]-f1[j])/(t[j+1]-t[j]);
ff2=f2[j]+(tt-t[j])*(f2[j+1]-f2[j])/(t[j+1]-t[j]);
hh1=h1[j]+(tt-t[j])*(h1[j+1]-h1[j])/(t[j+1]-t[j]);
hh2=h2[j]+(tt-t[j])*(h2[j+1]-h2[j])/(t[j+1]-t[j]);
rr=r[j]+(tt-t[j])*(r[j+1]-r[j])/(t[j+1]-t[j]);
ss1=s1[j]+(tt-t[j])*(s1[j+1]-s1[j])/(t[j+1]-t[j]);
ss2=s2[j]+(tt-t[j])*(s2[j+1]-s2[j])/(t[j+1]-t[j]);
printf("\n Ta tra duoc cac thong so :");
printf("\n Nhiet do:%lf (K)",tt+273);
printf("\n Ap suat bao hoa:%lf (bar)",pp);
printf("\n Khoi luong rieng o the long(soi):%lf (kg/dm3)",ff1);
printf("\n Khoi luong rieng hoi bao hoa kho:%lf (kg/m3)",ff2);
printf("\n The tich rieng o the long: %lf (dm3/kg)",1/ff1);
printf("\n The tich rieng hoi bao hoa kho: %lf (m3/kg)",1/ff2);
printf("\n Entanpi o the long(soi): %lf (kj/kg)", hh1);
printf("\n Entanpi hoi bao hoa kho: %lf (kj/kg)",hh2);
printf("\n Nhiet an r=%lf (kj/kg)",rr);
printf("\n Entropi o the long: %lf (kj/kg.k)",ss1);
printf("\n Entropi hoi bao hoa kho: %lf (kj/kg.k)",ss2);
printf("\n");
printf("\n Voi do kho x=%4.3lf=>cac thong so cua hoi bao hoa am!",x);
v=1/ff1+x*(1/ff2-1/ff1);
printf("\n The tich v=%lf (kg/m3)",v);
i=hh1+x*(hh2-hh1);
printf("\n Entanpi i=%lf (kj/kg)",i);
s=ss1 +x*(ss2-ss1);
printf("\n Entropi s=%lf (kj/kg.K)",s);
break;
case 2:
printf("\n Bang hoi bao hoa cua R12:");
printf("\n t[oc]p[bar]f1[kg/dm3]f2[kg/m3]v1[dm3/kg]v2[m3/kg]h1[kj/kg]h2[kj/kg]s1[kj/kg.k]s2[kj/kg.k]");
for(int j=-80;j<=80;j++)
printf("\n %d %6.4f %6.4lf %5.4lf %5.4lf %5.1lf %5.2lf %5.4lf %5.4lf",j,p[j+80],f1[j+80],f2[j+80],1/f1[j+80],1/f2[j+80],h1[j+80],h2[j+80],s1[j+80],s2[j+80]);
break;
}
}
while (index!=3);}
3. PhÇn 3:Bµi to¸n tÝnh nhiÖt Tua bin h¬i níc 1 tÇng c¸nh.
a.Më ®Çu
Tuabin h¬i níc lµ ®éng c¬ nhiÖt trong ®ã thÕ n¨ng cña h¬i níc ®îc chuyÓn ho¸ thµnh c¬ n¨ng ®Ó quay roto:
Tuabin gåm cã 2 tæ hîp d·y c¸nh:d·y c¸nh tÜnh l¾p trong hép & d·y c¸nh ®éng quay l¾p trªn ®Üa, kÕ tiÕp theo ®êng h¬i ®i ®¬c gäi lµ tÇng tuabin.ë trong mçi d·y èng phun dßng h¬i ®îc gia tèc trong c¸c r·nh èng phun ®· ®îc ®Þnh h×nh vµ híng vµo c¸c c¸c qu¹t ®éng lùc do dßng h¬i t¸c ®éng lªn c¸nh qu¹t ®éng sÏ lµm quay ®Üa vµ trôc.
M«i chÊt sö dông lµ h¬i níc, trong bµi to¸n nµy ta tÝnh tÇng ®¬n nªn tÊt c¶ c¸c th«ng sè nhiÖt ®éng lµ th«ng sè cña h¬i qu¸ nhiÖt. H¬i níc cã thÓ coi lµ lý tëng vµ ta cã thÓ ¸p dông c¸c c«ng thøc cña khÝ lý tëng cho c¸c qu¸ tr×nh nhiÖt ®éng(®¼ng entropi).
Mét sè ®¹i lîng cÇn x¸c ®Þnh vµ tÝnh to¸n trong bµi to¸n tÝnh nhiÖt Tuabin 1 tÇng c¸nh:
H0 :nhiÖt gi¸ng
nuyoi(): hiÖu suÊt t¬ng ®èi nuyoi = Hi/H0;
Hi: nhiÖt gi¸ng sö dông
H0: nhiÖt gi¸ng sö dông tÇng
nuyol(): hiÖu suÊt trªn c¸nh qu¹t
b.Bµi to¸n
TÝnh tÇng tuabin ®¬n khi biÕt c¸c ®¹i lîng ®Çu vµo: Lu lîng h¬i G(kg/s), ¸p suÊt h¬i tríc tÇng p0(bar), tèc ®é h¬i vµo tÇng C0(m/s), ¸p suÊt sau tÇng p2(bar), tÇn sè quay n(), ®êng kÝnh trung b×nh d(m)
Ta cÇn tÝnh to¸n c¸c th«ng sè cña tuabin: tèc ®é ra cña c¸nh èng phun, c¸nh ®éng, tèc ®é vµo c¸nh ®éng(C1t, C1, C2, W1, W2t, W2),diÖn tÝch ra d·y èng phun, d·y c¸nh ®éng, chiÒu cao èng phun, c¸nh ®éng c¸c gãc trªn tam gi¸c tèc ®é(ë bµi lËp tr×nh ta chØ tÝnh tang cña c¸c gãc nµy,F1, F2, l1, l2, tg
Tam gi¸c tèc ®é:
beta2
W2
C2
U
anfa2
beta1
W1
U
C1
anfa1
Trong bµi ta chØ xÐt ®Õn 2 lo¹i tæn thÊt chñ yÕu lµ: tæn thÊt trong d·y èng phun Hc(kj/kg), tæn thÊt trong d·y c¸nh ®éng Hl(kj/kg) vµ tõ ®ã tÝnh ®Õn n¨ng lîng lý thuyÕt cña tÇng E0(kj/kg), nhiÖt gi¸ng sö dông tÇng(Hi), c«ng suÊt trong cña tÇng Pi(kW)
Khi tÝnh to¸n tÇng thêng chän ®é ph¶n lùc r«=0.1->0.5
ChÊp nhËn hÖ sè lu lîng muy = 0.975
HÖ sè tèc ®é phi thêng tõ 0.96 ->0.98
HÖ sè tèc ®é psi thêng ®îc lÊy tõ 0.86 ->0.96
§é chêm khi x¸c ®Þnh chiÒu cao c¸nh ®éng lÊy b»ng 0.0035(m)
HÖ sè dïng cho tÇng tiÕp theo n»m trong kho¶ng lÊy trung b×nh lµ: 0.75
Bµi nµy ta chØ quan t©m tíi th«ng sè vµo ra cña tÇng ®¬n
Do ®ã ta tÝnh nh÷ng th«ng sè c¬ b¶n nhÊt mµ cha tÝnh to¸n toµn bé
Khi tÝnh to¸n nhiÖt tÇng tuabin ta ph¶i dùng qu¸ tr×nh trªn gi¶n ®å i-s
cña h¬i níc:
§iÓm quan träng cña bµi to¸n lµ ta ph¶i lËp tr×nh cho m¸y tÝnh x¸c ®Þnh ®îc entanpi cña h¬i níc t¹i c¸c ®iÓm ®Çu ra cña d·y èng phun, d·y c¸nh ®éng vµ t¹i ®iÓm gi·n në cña h¬i trong c¸nh ®éng(do bµi to¸n cã tÝnh ®Õn ®é ph¶n lùc )
TÊt c¶ c¸c c«ng viÖc trªn ta thùc hiÖn b»ng c¸ch néi suy tuyÕn tÝnh theo miÒn
C¸c bíc gi¶i cña bµi to¸n ®ù¬c thÓ hiÖn nh sau:
Bíc 1:
Thùc hiÖn néi suy tuyÕn tÝnh:t×m kho¶ng trong d·y ®iÓm nhËp vµo(trong bµi lËp tr×nh lµ mét ma trËn 1 chiÒu)cã chøa ®iÓm mµ ta cÇn x¸c ®Þnh. Bíc nµy ta tæ chøc thµnh 1 hµm riªng
Bíc 2:
Thùc hiÖn néi suy tuyÕn tÝnh theo miÒn:(Thùc chÊt lµ néi suy tuyÕn tÝnh theo 2 chiÒu víi ma trËn d÷ liÖu vµo lµ mét m¶ng 2 chiÒu). Môc ®Ých lµ t×m entanpi theo p&t vµ ta còng lµm 1 hµm víi 2 tham sè h×nh thøc lµ p&t theo d÷ liÖu vµo lµ 1 ma trËn 2 chiÒu theo p&t cña entanpi h¬i qu¸ nhiÖt
KÕt qu¶ nhËn ®îc nh sau:
Víi bµi to¸n nµy ta coi lµ h¬i qu¸ nhiÖt(kh«ng cã ®é Èm) lµ khÝ lý tëng vµ x¸c ®Þnh nhiÖt ®é t¹i ®iÓm 2(p2,t2) b»ng ph¬ng tr×nh sau:
T2/T2 = (p2/p2) , víi T lµ nhiÖt ®é tuyÖt ®èi, k lµ sè mò ®o¹n nhiÖt.
Tõ ®ã ta x¸c ®Þnh ®îc nhiÖt ®é t2 vµ thùc hiÖn néi suy tuyÕn tÝnh theo miÒn ®Ó t×m entanpi.
§Ó x¸c ®Þnh entanpi trong c¸nh ®éng ta ph¶i ®i t×m nhiÖt ®é tk&pk, ®iÓm nµy ph¶i cã cïng entropi víi ®iÓm (p0,t0) vµ (p2,t2), tøc lµ tõ ®iÓm 0->k->2 lµ qu¸ tr×nh ®¼ng entropi.
Ta còng lËp mét hµm riªng ®Ó x¸c ®Þnh entropi theo nhiÖt ®é vµ ¸p suÊt b»ng gi¶i thuËt nh víi trêng hîp x¸c ®Þnh entanpi.Tõ ®ã biÕt entropi vµ x¸c ®Þnh ®îc entanpi cña ®iÓm nµy nhê c«ng thøc:
ik = (i0 – i2) + i2t, víi i0, i2 lµ entanpi t¹i ®iÓm 0, 2.
Ta x©y dùng hµm tÝnh tk&pk theo entanpi & entropi b»ng c¸ch lÆp nh sau:
T¹o gi¸ trÞ ban ®Çu tk= tk*
pk = pk*
tÝnh entanpi & entropi theo tk* &pk* (theo c¸ch ë trªn)
nÕu (entropi-0.5 <entropi*(võa tÝnh) <entropi +0.5)
vµ(entanpi-1 < entanpi(võa tÝnh)<entanpi+1)
Tho¸t
NÕu cha tho¶ m·n ®iÒu kiÖn trªn
TiÕp tôc t¨ng tk &pk
L¹i t×m entanpi trong c¸nh ®éng theo tk& pk
Mét hµm quan träng kh¸c lµ hµm t×m thÓ tÝch riªng lý thuyÕt theo nhiÖt ®é vµ ¸p suÊt
Ta sö dông hµm sau:
v =
KÕt qu¶ nhËn ®îc nh sau:
TÊt c¶ c¸c ®¹i lîng cßn l¹i ®Òu ®· cã c«ng thøc têng minh(c¸c c«ng thøc sau ®©y ®¬c lÊy ra tõ s¸ch tuèc bin h¬i níc GS.TS Ph¹m L¬ng TuÖ)
¸p suÊt h·m tríc tÇng(bar) :p0h = h0+C0.khi0/2;
Tû sè tèc ®é :u/Ca = u/
§é ph¶n lùc r« :chän
NhiÖt gi¸ng lý thuyÕt trong d·y èng phun (kj/kg) : h01 = (1-ro)h0h
(hoh:nhiÖt gi¸ng víi th«ng sè h·m)
NhiÖt gi¸ng lý thuyÕt trong d·y c¸nh ®éng(kj/kg) :h02 = r o.h0
Tèc ra lý thuyÕt khái c¸nh èng phun(m/s) :C1t =
DiÖn tÝch ra cña d·y èng phun(m) :F1 =
ChiÒu cao cña c¸nh èng phun(m) :l1 =
Tèc ®é ra cña h¬I khái d·y èng phun (m) :C1 =
Tèc ®é t¬ng ®èi ®Çu vµo c¸nh ®éng(m): W1 =
Gãc híng beta cña tèc ®é t¬ng ®èi W1 :tg
Tèc ®é ra lý thuyÕt cña c¸nh ®éng(m/s) :W
ChiÒu cao c¸nh ®éng(m) :l2 = l1+
DiÖn tÝch ra cña d·y c¸nh ®éng(m) :F2 =
Gãc híng beta2 cña tèc ®é W2 :sin
Tèc ®é t¬ng ®èi cña ®Çu ra c¸nh ®îng W2 :W2 =
Tèc ®é tuyÖt ®èi ®Çu ra c¸nh ®éng (m) :C2 =
Gãc híng anfa2 cña tèc ®é C2 (m) :
Tæn thÊt trong d·y èng phun Hc(kj/kg) :Hc=
Tæn thÊt trong d·y c¸nh ®éng Hl(kj/kg) :Hl=
N¨ng lîng cña tèc ®é ra Hc2(kj/kg) :Hc2=
N¨ng lîng lý thuyÕt cña tÇng E0(kj/kg) :E0=h0-khic2.Hc2
HiÖu suÊt trªn c¸nh qu¹t :
NhiÖt gi¸ng sö dông cña tÇng(kj/kg) :Hi =Eo-Ho-Hl
C«ng suÊt trong cña tÇng(kW) :Pi =G.Hi
HiÖu suÊt t¬ng ®èi cña tÇng :
ThuËt gi¶i bµi to¸n ®îc cô thÓ nh sau:
NhËp th«ng sè ®Çu vµo
P0, t0, p2, G, d, Co,ro, muy1, muy2, pxi, phi, anfa1
khico, khic2:
(®©y lµ c¸c th«ng sè ®Çu vµo cÇn thiÕt)
Néi suy c¸c gi¸ trÞ:
noisuytuyentinh(double t,double p)
//hµm néi suy tuyÕn tÝnh 1 chiÒu t×m entanpi
noisuytuyentinhmien(double t, double p)
//hµm néi suy vÞ trÝ vïng cã chøa ®iÓm cÇn néi suy tuyÕn tÝnh
entanpi cÇn t×m
ham_h1(……………………..)
//nhËp c¸c ®iÓm gi¸ tri entanpi vµo m¶ng 2 chiÒu
®Ó néi suy
ham_h2(………………….)
ham_s(….)……….(tÊt c¶ ®Òu cã trong bµi lËp tr×nh)
TÝnh to¸n:
TÝnh tÊt c¶ c¸c th«ng sè cña tuabin
Mµ ta ®· x¸c ®Þnh b»ng c¸c c«ng thøc ë trªn
Ta cã sö dông th viÖn hµm chuÈn lµ “math.h”
In kÕt qu¶
c.Néi dung bµi gi¶i
#include
#include
#include
#define R 8314
#define pi 3.14
#define k 1.3
typedef double MT[10][10];
double nstuyentinh(int n, double *x , double *y, double x0);
//n so cot
//x0 gia tri can tinh tai x0
//x,y ma tran gia tri nhap vao
double nstuyentinhmien(int n, int m,double *x,double *y, MT z, double x0, double y0);
//n cot
//m hang
//x,y ma tran
//z ma tran 2 chieu
double ham_h1(double t,double p);
//p ap suat
//t nhiet do
//ham entanpi theo ap suat va nhiet do
double ham_h2(double t,double p);
//p ap suat
//t nhiet do
double ham_v(double t,double p);
//ham the tich theo ap suat va nhiet do
double ham_s(double t,double p);
//ham tinh entropi theo ap suat va nhiet do
void tpis(double *t,double *p);
//ham tinh ap suat ,nhiet do khi biet entanpi voi qua trinh doan nhiet
void inkq();
//ham in cac thong so cua tua bin tinh duoc
double pp[]={ 14,16,18,20,30,40,50,60,70,80};
double tt[]={220,240,260,280,300,350,400,450,500,600 };
double s0,i0,i2,h0,u,uca,h01,h02,t2,tk,pk,v1t,v2t,C1t,C1,C2,W1,W1t,W2,W2t,F1,l1,F2,
l2,Hc,Hl,Hc2,E0,nuyol,Hi,nuyoi,Pi,sinbeta2,tanbeta1,tananfa2;
//cac thong so cua tua bin can tinh
double G,d,n,p0,t0,C0,p2,ro,muy1,anfa1,phi,denta,muy2,pxi,khic0,khic2;
//cac thong so dau vao
void main()
{
double cosbeta2;
clrscr();
printf("\n vaoluu luong hoi G(kg/s): "); scanf("%lf",&G);
printf("\n duong kinh trung binh d(m): "); scanf("%lf",&d);
printf("\n tan so quay n(1/s): "); scanf("%lf",&n);
printf("\n ap suat hoi truoc tang p0(bar): "); scanf("%lf",&p0);
printf("\n nhiet do hoi truoc tang t0(oC): "); scanf("%lf",&t0);
printf("\n toc do hoi vao tang C0(m/s): "); scanf("%lf",&C0);
printf("\n ap suat sau tang p2(bar): "); scanf("%lf",&p2);
printf("\n do phan luc ro: "); scanf("%lf",&ro);
printf("\n he so luu luong ong fun muy1: "); scanf("%lf",&muy1);
printf("\n goc huong cua toc do C1,anfa1(do):"); scanf("%lf",&anfa1);
printf("\n he so toc do day ong fun phi: "); scanf("%lf",&phi);
printf("\n he so luu luong canh dong muy2: "); scanf("%lf",&muy2);
printf("\n he so toc do day canh dong pxi: "); scanf("%lf",&pxi);
printf("\n he so su dung tang khic0: "); scanf("%lf",&khic0);
printf("\n he so su dung tang khic2 : "); scanf("%lf",&khic2);
denta =0.0035;
i0 = ham_h1(t0,p0);
s0 = ham_s(t0,p0);
i2 = ham_h2(t0,p2);
h0 = (i0-i2) + (1e-3)*C0*C0*khic0/2;
t2 = (t0+273)*pow(p2/p0,(k-1)/k) - 273;
u = pi*d*n;
uca = u/(sqrt((2e+3)*h0));
h01 = (1-ro)*h0;
h02 =ro*h0;
tpis(&tk,&pk);
v1t = ham_v(tk,pk);
v2t = ham_v(t2,p2);
C1t = sqrt((2e+3)*h01);
F1 = G*v1t/(muy1*C1t);
l1 = F1/(pi*d*sin(anfa1));
C1 = phi*C1t;
W1 = sqrt(C1*C1 + u*u - 2*u*C1*cos(anfa1));
W2t = sqrt((2e+3)*h02 + W1*W1);
l2 = l1+denta;
F2 = G*v2t/(muy2*W2t);
W2 =W2t*pxi;
tanbeta1 = sin(anfa1)/(cos(anfa1) - u/C1);
sinbeta2 = F2/(pi*d*l2);
cosbeta2 = sqrt(1 - sinbeta2*sinbeta2);
C2 = sqrt(W2*W2 + u*u - 2*W2*u*cosbeta2);
tananfa2 = sinbeta2/(sqrt(1 - sinbeta2*sinbeta2) - u/W2);
Hc = 0.001*(1 - phi*phi)*C1t*C1t/2;
Hl = 0.001*(1 - phi*phi)*W1*W1/2;
Hc2 = 0.001*C2*C2/2;
E0 = h0 - khic2*Hc2;
Hi = E0 - Hc -Hl - (1-khic2)*Hc2;
Pi = G*Hi;
nuyol = (E0 - Hc - Hl)/E0;
nuyoi = Hi/E0;
inkq();
}
void inkq()
{
printf(" KET QUA BAI TOAN TINH NHIET TANG TUA BIN HOI NUOC ");
printf("\n************************************************************");
printf("\nEntanpi cua hoi truoc tang i0: %10.4lf(kj/kg)",i0);
printf("\nEntanpi hoi sau tang i2: %10.4lf(kj/kg)",i2);
printf("\nEntropi cua qua trinh doan nhiet s0: %10.4lf(kj/kg.k)",s0);
printf("\nNhiet giang ly thuyet cua tang theo thong so ham h0: %10.4lf(kj/kg)",h0);
printf("\nToc do vong quay: u: %10.4lf(m/s)",u);
printf("\nTy so toc do uca: %10.4lf",uca);
printf("\nNhiet giang ly thuyet trong day ong phun h01: %10.4lf(kj/kg)",h01);
printf("\nNhiet giang ly thuyet trong day canh dong h02: %10.4lf(kj/kg)",h02);
printf("\nThe tich rieng sau day ong phun(ly thuyet) v1t: %10.4lf(m3/kg)",v1t);
printf("\nThe tich rieng sau day canh dong(ly thuyet) v2t: %10.4lf(m3/kg)",v2t);
printf("\nToc do ra ly thuyet cua day ong phun C1t: %10.4lf(m/s)",C1t);
printf("\nToc do ra khoi day ong phun C1: %10.4lf(m/s)",C1);
printf("\nToc do tuong doi dau vao canh dong W1: %10.4lf(m/s)",W1);
printf("\nToc do ra ly thuyet khoi canh dong W2t: %10.4lf(m/s)",W2t);
printf("\nToc do tuong doi dau ra canh dong W2: %10.4lf(m/s)",W2);
printf("\nToc do tuyet doi dau ra canh dong C2: %10.4lf(m/s)",C2);
printf("\nDien tich ra khoi ong phun F1: %10.4lf(m2)",F1);
printf("\nChieu cao canh ong phun l1: %10.4lf(m)",l1);
printf("\nDien tich ra cua day canh dong F2: %10.4lf(m2)",F2);
printf("\nChieu cao canh dong l2: %10.4lf(m)",l2);
printf("\nGoc huong beta1(tang) cua toc do tuong doi W1 : %10.4lf",tanbeta1);
printf("\nGoc huong anfa2(tang) cua toc do C2 : %10.4lf",tananfa2);
printf("\nGoc huong beta2(sin) cua toc do W2 : %10.4lf",sinbeta2);
printf("\nTon that trong day ong phun Hc Hc: %10.4lf(kj/kg)",Hc);
printf("\nTon that trong day canh dong Hl Hl: %10.4lf(kj/kg)",Hl);
printf("\nNang luong cua toc do ra Hc2 Hc2: %10.4lf(kj.kg)",Hc2);
printf("\nNang ly thuyet cua tang E0 E0: %10.4lf(kj/kg)",E0);
printf("\nNhiet giang su dung tang Hi Hi: %10.4lf(kj/kg)",Hi);
printf("\nHieu suat tren canh quat nuyol: %10.4lf",nuyol);
printf("\nHieu suat trong tuong doi cua tang nuyoi: %10.4lf",nuyoi);
printf("\nCong suat trong cua tang Pi: %10.4lf(kW)",Pi);
getch();
}
double nstuyentinh(int n,double *x,double *y,double x0)
{
int i;
double tg;
if(x0<=x[0]) i=0;
if(x0>=x[n]) i=n-1;
// tim khoang chua x0
if((x0>x[0])&&(x0<x[n]))
for(i=0;i<=n-1;i++)
if((x0>=x[i])&&(x0<x[i+1]))
break;
//tinh gia tri ham tai x0,y0
tg=y[i]+(x0-x[i])*(y[i+1]-y[i])/(x[i+1]-x[i]);
return tg;
}
double nstuyentinhmien(int n,int m,double *x, double *y, MT z,double x0, double y0)
{
int i,j;
double c1,c2,a[10],itg;
if(y0<=y[0]) j=0;
if(y0>=y[m]) j=m-1;
//tim khoang hang co chua hang y0
if((y0>y[0])&&(y0<y[m]))
for(j=0;j<m;j++)
if((y0>=y[j])&&(y0<y[j+1]))
break;
//sao chep hang j cua ma trn z
for(i=0;i<n;i++)
a[i]=z[j][i];
c1=nstuyentinh(n,x,a,x0);
for(i=0;i<n;i++)
a[i]=z[j+1][i];
c2=nstuyentinh(n,x,a,x0);
itg=c1+(c2-c1)*(y0-y[j])/(y[j+1]-y[j]);
return itg;
}
double ham_h1(double t , double p)
{
int n,m;
n=10;m=10;
double ii[10][10]={2855,2902,2948,2992,3036,3147,3256,3365,3474,3695,
2844,2893,2940,2986,3030,3142,3243,3363,3472,3693,
2833,2884,2932,2979,3025,3138,3249,3360,3470,3691,
2821,2875,2924,2972,3019,3134,3246,3357,3468,3690,
943.5,2823,2882,2947,2988,3111,3229,3343,3456,3682,
943.7,1037.49,2838.65,2901.45,2958.39,3089.44,3212.11,3330.18,3445.73,3647.75,
944.12,1037.49,1135.04,2858.33,2924.06,3065.57,3194.10,3315.94,3434.43,3666.8,
944.12,1037.49,1134.20,2809.34,2884.70,3014.29,3176.52,3301.29,3422.71,3658.43,
944.54,1037.49,1134.20,1235.94,2841.58,3015.75,3157.26,3287.05,3410.98,3650,
945.1,1037.9,1134.4,1235.4,2784,2985,3135,3270,3397,3640 };
return nstuyentinhmien(n,m,tt,pp,ii,t,p);
}
double ham_s(double t,double p)
{
int n,m;
n=10;m=10;
double ss[10][10]={6.602,6.697,6.784,6.867,6.945,7.130,7.299,7.455,7.601,7.870,
6.524,6.622,6.711,6.796,6.877,7.063,7.233,7.390,7.537,7.806,
6.452,6.554,6.646,6.732,6.814,7.003,7.175,7.333,7.480,7.750,
6.385,6.491,6.585,6.674,6.757,6.949,7.122,7.282,7.429,7.701,
2.5146,6.255,6.337,6.438,6.530,6.735,6.916,7.080,7.231,7.506,
2.512,2.698,6.148,6.262,6.364,6.585,6.773,6.943,7.098,7.376,
2.510,2.696,2.883,6.097,6.214,6.453,6.651,6.825,6.984,7.267,
2.508,2.693,2.880,5.940,6.076,6.339,6.546,6.726,6.888,7.175,
2.506,2.691,2.876,3.063,5.943,6.235,5.455,6.640,6.806,7.097,
2.504,2.688,2.873,3.509,5.788,6.126,6.358,6.552,6.722,7.019};
return nstuyentinhmien(n,m,tt,pp,ss,t,p);
}
double ham_h2(double t,double p)
{
double ttg2,ktg;
ktg=(k-1)/k;
ttg2=(t0+273)*pow((p2/p0),ktg)-273;
return ham_h1(ttg2,p2);
}
void tpis(double *t,double *p)
{
double ptg,ttg,i,s;
ptg=p2; ttg=(t0+273)*pow(p2/p0,(1.3-1)/1.3) - 273;
do
{
i=ham_h1(ttg,ptg);
s=ham_s(ttg,ptg);
ttg+=1;
ptg+=0.1;
}
while(((i2+h02+2) <= i)&&(i <=(i2+h02-2))&&((s0+0.5) <= s)&&(s <=(s0-0.5)));
*t=ttg;
*p=ptg;
}
double ham_v(double t,double p)
{
double vtg;
vtg=R*(t+273)/((p*1e+5)*18) - 1.234e+6/pow((t+273),3);
return vtg;
}
d.KÕt qu¶ ch¹y ch¬ng tr×nh
Các file đính kèm theo tài liệu này:
- Bài tập tin ứng dụng - Lập trình C.doc