Tải bản đầy đủ (.doc) (32 trang)

Bài tập tin ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (778.52 KB, 32 trang )

Bài tập tin ứng dụng

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.
- ...

Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
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(<chuỗi ký tự>,[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(<chuỗi ký tự>,{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:<kiểu dữ liệu> 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{
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;iViện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
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;iT+=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;iif (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;ifor(j=i+1;jif (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:<kiểu dữ liệu>*<tên con trỏ>;
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ử *:
*<Tên con trỏ> -> 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

Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
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ề]<Tên hàm>([D/sách các tham số])
VD:
#include<stdio.h>
#include<conio.h>
#include<math.h>
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();
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
}
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<stdio.h>
#include<conio.h>
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++)
{
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
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:

Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bµi tËp tin øng dông

ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bµi tËp tin øng dông

#include<stdio.h>
#include<conio.h>
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:");
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bµi tËp tin øng dông
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(xxi=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])
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bài tập tin ứng dụng
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:

Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bµi tËp tin øng dông

#include<stdio.h>
#include<conio.h>

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{
for(q=0;q<5;q++)
{
for(j=0;jprintf("$");
printf(" ");
for(k=0;k<2*n-3-2*i;k++)
printf("*");
if(2*n-3-2*i>0)
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bµi tËp tin øng dông

}

}
getch();

printf(" ");
for(l=0;lprintf("$");

}
printf("\n");

ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bài tập tin ứng dụng
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(m 3/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()
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bµi tËp tin øng dông
{
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=");
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi



Bµi tËp tin øng dông
scanf("%f",&x);
if((x<0)||(x>1))
{
printf("\n Ban da nhap khong
dung gia tri cua do kho x!");
printf("\n Ban hay nhap lai!");
}
}
while(x<0||x>1);
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:
(kj/kg.k)",ss2);
printf("\n");
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh

Trêng §¹i häc B¸ch khoa Hµ Néi

%lf


Bµi tËp tin øng dông
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);}


ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bµi tËp tin øng dông

ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bµi tËp tin øng dông

ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Bài tập tin ứng dụng
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

i0

t0

h0

pk

tk
ik

nuyoi(oi ): hiệu suất tơng đối nuyoi = Hi/H0;
Hi:
nhiệt giáng sử dụng
H 0:
nhiệt giáng sử dụng tầng
nuyol(ol ): 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 C 0(m/s), áp suất sau tầng p 2(bar), tần số
quay n( s 1 ), đờ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(C 1t, 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,F 1, F2, l1, l2, tg 1 , tg 2 ,sin 2 )
Tam giác tốc độ:

Error: Reference source not found
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
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 H l(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(H i), 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 0 , c 2 nằm trong khoảng [ 0,1] 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:
p0h

t0h
p0

t0

i0


i
H0

h01

pk

Hc
H20

ik

tk
p2

v1t

khi2.Hc2
t2
v2t
s

Đ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 ro : )
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:
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội



Bài tập tin ứng dụng
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) ( k 1) / k , 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 độ t k&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:
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội



Bài tập tin ứng dụng
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 và(entanpi-1 < entanpi(vừa tính)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:
RT 1,324.106 3

(m / kg )
v=
p
T3
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 2 .khi0/2;
Tỷ số tốc độ
:u/Ca = u/ 2.103 h0
Độ 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) :h 02
= r o.h0
Tốc ra lý thuyết khỏi cánh ống phun(m/s)
:C 1t
= 2.103 h01
Gv1t
Diện tích ra của dãy ống phun(m 2 )
:F1
=
à1C1t
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bài tập tin ứng dụng
Chiều cao của cánh ống phun(m)
Tốc độ ra của hơI khỏi dãy ống phun (m)
Tốc độ tơng đối đầu vào cánh động(m):
Góc hớng beta của tốc độ tơng đối W1

F
.d sin

= .C1t

:l 1


=

:C 1

W1 = C12 + u 2 2uC1cos 1
sin 1
:tg 1 =
cos 1 u / C1

Tốc độ ra lý thuyết của cánh động(m/s)

:W 2t = 2.103.h02 + W12

Chiều cao cánh động(m)

:l 2

Diện tích ra của dãy cánh động(m 2 )
Góc hớng beta2 của tốc độ W2
Tốc độ tơng đối của đầu ra cánh đợng W2
Tốc độ tuyệt đối đầu ra cánh động (m)
Góc hớng anfa2 của tốc độ C2 (m)
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)
Năng lợng của tốc độ ra Hc2(kj/kg)
Năng lợng lý thuyết của tầng E0(kj/kg)
Hiệu suất trên cánh quạt
Nhiệt giáng sử dụng của tầng(kj/kg)
Công suất trong của tầng(kW)
Hiệu suất tơng đối của tầng

Thuật giải bài toán đợc cụ thể nh sau:

= l1+

Gv2t
à2W2t
F2
:sin 2 =
dl2
:W2 = W2t
:F2 =

:C 2 = W22t + u 2 2W2u cos 2
: tg 2 =

sin 2
cos 2 u / W2

C12t
2
2
2 W1t
:Hl= (1 )
2
2
C
:Hc2= 2
2
:E0=h0-khic2.Hc2
E0 Hc Hl

: ol =
E0
:H i =Eo-Ho-Hl
:P i =G.Hi
: oi = Hi / E 0
:Hc= (1 2 )

Nhập thông số đầu vào
P0, t0, p2, G, d, Co,ro, muy1, muy2, pxi, phi, anfa1
khico, khic2:
(đâysuy
là các
số đầu vào cần thiết)
Nội
cácthông
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(..)
Viện Khoa học & công nghệ Nhiệt lạnh
//nhập các điểm giá tri entanpi vào mảng 2 chiều
Trờng Đại học
khoa Hà Nội
đểBách
nội suy
ham_h2(.)
ham_s(.).(tất cả đều có trong bài lập trình)



Bài tập tin ứng dụng

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<stdio.h>
#include<conio.h>
#include<math.h>
#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
Viện Khoa học & công nghệ Nhiệt lạnh
Trờng Đại học Bách khoa Hà Nội


Bµi tËp tin øng dông
//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;
ViÖn Khoa häc & c«ng nghÖ NhiÖt l¹nh
Trêng §¹i häc B¸ch khoa Hµ Néi


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×