Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорный.docx
Скачиваний:
14
Добавлен:
21.11.2019
Размер:
1.9 Mб
Скачать

7.6. Задания для лабораторной работы.

Составить программу и произвести расчет при следующих начальных данных распределения температуры и теплопроводных характеристиках грунта.

  1. Температура воздуха изменяется по закону

.

Варианты значений θmax и θmin:

1. θmax = - 400, θmin = -500

2. θmax = - 430, θmin = -510

3. θmax = - 300, θmin = -380

4. θmax = - 200, θmin = -300

5. θmax = - 350, θmin = -450

6. θmax = - 240, θmin = -350

7. θmax = - 180, θmin = -250

8. θmax = - 130, θmin = -200

9. θmax = - 240, θmin = -330

10. θmax = - 280, θmin = -400

11. θmax = - 140, θmin = -250

12. θmax = - 340, θmin = -450

Глубина заложения трубопровода Н = 1,5 м; tmax =24 час, считаем, что начальное распределение температуры от трубопровода до поверхности изменяется по закону

Температура на поверхности трубопровода равен θ1 = 450.

Теплопроводные характеристики грунта приведены в таблице 1.

ρ,

1

2

3

4

5

6

7

8

9

10

11

12

340

1,8 – 1,9

1,9 – 1,95

2,6 – 2,8

2,3 - 3

2,2 – 2,4

2,3 –2,6

3,3

3-3,2

2-2,2

3,3-3,5

2,4-2,6

0,075 + 0,00021 · θ

0,72 + 0,0005 · θ

0,8 + 0,0006 · θ

4,0 - 0,0015 · θ

4,0 - 0,0017 · θ

1,45 - 0,0002 · θ

1,8 + 0,0016 · θ

1,2 + 0,00055 · θ

1,6 + 0,00045 · θ

4,5 - 0,0012 · θ

1,4 + 0,0025 · θ

4,7 - 0,0014 · θ

0,91

0,21 + 0,00055 · θ

0,2 + 0,00003 · θ

0,2 + 0,0002 · θ

0,43 + 0,0001 · θ

0,2 + 0,0003 · θ

0,19 + 0,0001 · θ

0,13 + 0,0003 · θ

0,12 + 0,0035 · θ

0,15 + 0,0031 · θ

0,23 + 0,0004 · θ

0,32 + 0,0005 · θ

Переменные и константы для составления программы на языке Турбо-Паскаль.

Program Lab6;

Uses crt;

Const

ka=26*3600; k=1E-12; mn=1/(1000*3600*24); r0=0.1;

H=15; C0=mn/(2*pi*r0*h*k); tz=3*365; Tmax=15*365; n1=1000;

N=11+n1; m=15*365; dt=Tmax/m; P0=20E+6;

Var

I,j : integer;

A,B,C.F, dd :real;

Alfa, betta, y0,y1: array[0...n] of real;

Yz : array[0..m] of real;

Dr,r :array[1..11] of real;

Function Qz(t:real) :ral;

Var r0:real;

Begin

If t<tz then r0=0.149*t*sin(pi*t/(2*tz)) else r0:=0.149*tz;

Qz:=R0; end;

Begin for i:=0 to n do y0[i]:=P0; Y1[n]:=P0;

Dr[1]:=0.01; r[1]:=r0+dr[1];

For i:=1 to 10 do dr[i+1]:=2*dr[i]; For i:=1 to 10 do r[i+1]:=r[i]+dr[i+1];

Dd:=(R-r[11])/N1;

For j:=0 to m do begin

A=ka*dt*r[2]*2/R[1]/dr[2]/(dr[1]+dr[2]); C=ka*dt*2/dr[1]/(dr[1]+dr[2]);

Alfa[2]:=A/(1+A); betta[2]:=(y0[1]-C*C0*qz(j*dt)*dr[1])/(1+A);

For i:=1 to 10 do begin

A=ka*dt*r[i+1]*2/R[i]/dr[i+1]/(dr[i]+dr[i+1]); C=ka*dt*2/dr[i]/(dr[i]+dr[i+1]);

B:=1+A+C; F:=y0[i];

Alfa[i+1]:= A/(B-alfa[i]*C); Betta[i+1]:=(C*betta[i]+F)/( B-alfa[i]*C); end;

For i:=11 to n-1 do begin

A=ka*dt*(r[11]+(i-9)*dd)/(r[11]+(i-10)*dd)/dd/dd; C=ka*dt/dd/dd;

B:=1+A+C; F:=y0[i];

Alfa[i+1]:= A/(B-alfa[i]*C); Betta[i+1]:=(C*betta[i]+F)/( B-alfa[i]*C); end;

For i:=n downto 2 do y1[i-1]:= Alfa[i]*y1[i]+Betta[i];

Y1[0]:= y1[1]-C0*Qz(j*dt)*dr[1];

Yn[j+1]:= Y1[0]; For i:=0 to n do y0[i]:= Y1[i]; end;

Assign(f1,’out1.dat’); Asiign(f2, ‘out2.dat’);

Rewrite(f1); rewrite(f2);

For i:=0 to n do writeln(f1, y1[i]/1000000:6:4);

For j:=1 to m do writeln(f2, Yn[j]/1000000:6:4);

Close(f1); close(f2); end.