Смекни!
smekni.com

Разработка компьютерной программы на языке Паскаль для проведения простого теплофизического расчета (стр. 1 из 2)

Содержание

Техническое задание на курсовой проект

Постановка задачи

Основа тела программы

Блок-схемы

Расчет основных параметров

Исследование температурных полей

Исследование средней температуры

Исследование потока тепла на границе

Разбор практических примеров

Выводы


Техническое задание на курсовой проект

"Разработка компьютерной программы на языке Паскаль для проведения простого теплофизического расчета"

Созданная диалоговая компьютерная программа, должна иметь возможность рассчитывать для момента времени (изложенного в варианте задания):

- температурное поле;

- удельный расход тепла;

- тепловой поток на поверхности рассматриваемого тела.

Компьютерная программа должна иметь возможность:

отображать результаты в табличном виде;

отображать результаты в графическом виде (семейство кривых) на экране компьютера;

сохранять полученные результаты во внешних файлах.

Требования к расчетам, полученным с помощью программы:

выбор параметров расчета должен осуществляться на основе базы данных теплофизических параметров;

результаты расчета представляются в размерном и безразмерном видах

2. Постановка задачи

Задача для проведения теплофизического расчета с помощью программы написанной на языке Pascal


Вариант 20

Температурное поле внутри полого цилиндра при смешанных граничных условиях второго и третьего рода при qv=0; b=R/R1=(R2-R1)/R1=k-1; k=R2/R1>1 и тепловом потоке на внутренней поверхности трубы - экспоненциально убывающей функции f1=exp(-PdF0); f2=T0 определяется по формуле:

R=R2-R1

где

 - приведенная температура

 - приведенная координата

d – коэффициент Предводителева

3. Основа тела программы

program Program_Oleg;

uses crt;

const

numpar=10;

numfo=10;

numx=21;

type

tmenuarr = array[1..9] of string[20];

var

mas_ip: array[1..numpar] of string;

mas_znp: array[1..numpar] of string;

mas_rpar: array[1..numpar] of string;

mas_otpole: array[1..numx] of real;

mas_pole: array[1..numfo,1..numx] of real;

mas_xrteplo: array[1..numfo] of real;

mas_ptep: array[1..numfo] of real;

mas_fur:array[1..numfo] of real;

amenu1: tmenuarr;

nmenu1: integer;

procedure f_cont;

var ch: char;

begin

writeln;

writeln;

writeln('Press any key to continue...');

ch:=readkey;

clrscr;

end;

procedure menuinit;

begin

amenu1[1]:='Parameters';

amenu1[2]:='Tables';

amenu1[3]:='Curves';

amenu1[4]:='Files';

amenu1[5]:='Quit';

end;

procedure line80(s: char);

var i:integer;

begin

for i:=1 to 80 do write(s);

end;

function menusel(menu:tmenuarr;num:integer;namemenu:string):integer;

var

i,ich: integer;

ch: char;

begin

gotoxy(1,23);

line80('-');

gotoxy(1,24);

write(namemenu,'> ');

for i:=1 to num do

begin

HighVideo;write(i:1);NormVideo;

write('. ',menu[i]);

if (i<>num) then write(' | ')

end;

repeat

ch:=readkey; ich:=ord(ch)-48;

until+ (ich>=1) and (ich<=num);

menusel:=ich;

end;

procedure viewparam;

var i:integer;

begin

gotoxy(1,1);

line80('=');

writeln('Year: 2006; Course: 2; Groupe: FT-24; Student: Lubichenko Oleg; Project # 1');

line80('-');

writeln('Current parameter''s');

for i:=1 to numpar do

writeln(mas_ip[i]:10,' = ',mas_znp[i]:10);

end;

procedure pr_ps;

begin

clrscr;

write('Setup Parameters');

f_cont;

end;

procedure pr_tabl;

begin

clrscr;

write('Print tables');

f_cont;

end;

procedure pr_graf;

begin

clrscr;

write('Output curves');

f_cont;

end;

procedure pr_vf;

begin

clrscr;

write('Output to files');

f_cont;

end;

procedure pr_exit;

begin

clrscr;

write('Output to file of config''s');

f_cont;

end;

procedure pr_nz;

var

i: integer;

s:string;

begin

for i:=1 to numpar do

begin

str(i,s);

mas_ip[i]:='Par_'+s;

mas_znp[i]:=s;

end;

end;

begin

clrscr;

menuinit;

pr_nz;

viewparam;

repeat

nmenu1:=menusel(amenu1,5,'Main');

case nmenu1 of

1: pr_ps;

2: pr_tabl;

3: pr_graf;

4: pr_vf;

5: pr_exit;

end;

viewparam;

until nmenu1=5;

end.

4. Блок- схемы

Упрощенная блок-схема:

Данная блок-схема отображает основные действия, которые может воспроизводить программа.

Детальная блок-схема:

Данная блок-схема отображает алгоритм действия программы.

5. Расчет основных параметров

Ниже приведен один из модулей программы, позволяющий определить и рассчитать параметры необходимые для решения поставленной задачи теплофизического расчета.

function exp0(x:real):real;

begin

if x<-20.0 then

exp0:=0.0e0

else

exp0:=exp(x);

end;

procedure o_schet;

var

i,j: integer;

valcode: integer;

po,m,am,tc,t0,r,qv,lam,fo,x,tm,de,he,tm100,tm095,p1:real;

begin

m:=0;

if o_parcal[2]='Cylinder' then m:=1;

if o_parcal[2]='Ball' then m:=2;

am:=(m+1)*(m+5)/2;

val(o_parcal[9],qv,valcode);

val(o_parcal[7],t0,valcode);

val(o_parcal[6],tc,valcode);

val(o_parcal[5],lam,valcode);

val(o_parcal[8],r,valcode);

val(o_parcal[3],de,valcode);

val(o_parcal[4 ],he,valcode);

writeln(' am= ',am:5:2,' qv= ',qv:5:2,o_razm [9],' r= ',r:5:2,o_razm [8]);

writeln(' de= ',de:5:2,o_razm [3],' he= ',he:5:2,o_razm [4 ]);

writeln(' t0= ',t0:5:2,o_razm [7],' tc= ',tc:5:2,o_razm [6],' lam= ',lam:5:2,o_razm [5]);

po:=qv*r*r/lam/(tc-t0);

k:=R2/R1

Bi:=2;

fo:=0.1;

R1:=0.1;

R2:=0.12;

Pd:=5;

writeln(' Po= ',po:12:5);

for i:=1 to numfo do begin

fo:=o_Fur[i];

x:=1.0;

tm100:=exp0(-Pd*fo)*(((Bi+1)/Bi)-x)+(A3*exp0(-Afo)-((A2-A3)/A-Pd)*exp(-A*fo)-exp0(-Pd*fo))*(((Bi+2)/Bi)-x*x);

A:=((10*Bi)/D)*(Bi*(3*k+1)+12*k);

A2:=20*(k-1)*Bi*(Bi+3)*D^(-1);

A3:=(1/(2*D))*(Bi*Bi*(7*k+18)+5*Bi*(7*k+13)+60*(k+1));;

tm100:=abs(round(tm100*10000)/10000.0);

x:=0.95;

tm095:=exp0(-Pd*fo)*(((Bi+1)/Bi)-x)+(A3*exp0(-Afo)-((A2-A3)/A-Pd)*exp(-A*fo)-exp0(-Pd*fo))*(((Bi+2)/Bi)-x*x);

A:=((10*Bi)/D)*(Bi*(3*k+1)+12*k);

A2:=20*(k-1)*Bi*(Bi+3)*D^(-1);

A3:=(1/(2*D))*(Bi*Bi*(7*k+18)+5*Bi*(7*k+13)+60*(k+1));;

tm095:=abs(round(tm095*10000)/10000.0);

o_rptngt[i]:=-lam*(t0-tc)*(tm100-tm095)/r/0.05;

for j:=1 to numx do begin

x:=o_pwtp[j];

o_masF [i,j]:=exp0(-Pd*fo)*(((Bi+1)/Bi)-x)+(A3*exp0(-Afo)-((A2-A3)/A-Pd)*exp(-A*fo)-exp0(-Pd*fo))*(((Bi+2)/Bi)-x*x);

A:=((10*Bi)/D)*(Bi*(3*k+1)+12*k);

A2:=20*(k-1)*Bi*(Bi+3)*D^(-1);

A3:=(1/(2*D))*(Bi*Bi*(7*k+18)+5*Bi*(7*k+13)+60*(k+1));;

o_masF [i,j]:=abs(round(o_masF [i,j]*10000)/10000.0);

end;

end;

p1:=o_rptngt[1]; if abs(p1)<1e-6 then p1:=1;

for i:=1 to numfo do

o_rptngt1[i]:=o_rptngt[i]/p1;

if m=0 then begin

for i:=1 to numfo do begin

tm:=o_masF [i,1]+o_masF [i,numx];

for j:=2 to numx-1 do

if (j mod 2)=0 then

tm:=tm+4*o_masF [i,j]

else

tm:=tm+2*o_masF [i,j];

tm:=tm/3/(numx-1);

tm:=abs(round(tm*1000)/1000.0);

o_masrf 1[i]:=abs(tm);

tm:=tm*(t0-tc)+tc;

o_masrf 2[i]:=tm;

o_masrf [i]:=he*de*(tm-t0);

end;

end;

if m=1 then begin

for i:=1 to numfo do begin

tm:=o_masF [i,1]*2*o_pwtp[1]+o_masF [i,numx]*2*o_pwtp[numx];

for j:=2 to numx-1 do

if (j mod 2)=0 then

tm:=tm+4*o_masF [i,j]*2*o_pwtp[j]

else

tm:=tm+2*o_masF [i,j]*2*o_pwtp[j];

tm:=tm/3/(numx-1);

tm:=abs(round(tm*1000)/1000.0);

o_masrf 1[i]:=tm;

tm:=tm*(t0-tc)+tc;

o_masrf 2[i]:=tm;

o_masrf [i]:=he*de*(tm-t0);

end;

end;

if m=2 then

begin

for i:=1 to numfo do

begin

tm:=o_masF [i,1]*3*o_pwtp[1]*o_pwtp[1]+o_masF [i,numx]*3*o_pwtp[numx]*o_pwtp[numx];

for j:=2 to numx-1 do

if (j mod 2)=0 then

tm:=tm+4*o_masF [i,j]*3*o_pwtp[j]*o_pwtp[j]

else

tm:=tm+2*o_masF [i,j]*3*o_pwtp[j]*o_pwtp[j];

tm:=tm/3/(numx-1);

tm:=round(tm*1000)/1000.0;

o_masrf 1[i]:=tm;

tm:=tm*(t0-tc)+tc;

o_masrf 2[i]:=tm;

o_masrf [i]:=he*de*(tm-t0);

end;

end;

end;

6. Исследование температурных полей

1. Введите Вашу фамилию и имя

Любиченко Олег

2. Введите номер варианта задания

20

3. Введите номер учебной группы

ФТ-24

4. Введите текущий год

2006

5. Для вашего варианта как ведет себя температурное поле с ростом числа Фурье?

С ростом числа Фурье температура падает

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

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0

----------------------------------------------------------------------

1. 0.00 2.48 2.32 2.03 1.60 1.43 0.84 0.19 0.02 0.00 0.00

2. 0.02 2.46 2.30 2.02 1.59 1.42 0.84 0.18 0.02 0.00 0.00

3. 0.04 2.44 2.28 2.00 1.57 1.40 0.83 0.18 0.02 0.00 0.00

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

С ростом к температура падает

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

к=0,15

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0

----------------------------------------------------------------------

1. 0.00 2.48 2.32 2.03 1.60 1.43 0.84 0.19 0.02 0.00 0.00

2. 0.02 2.46 2.30 2.02 1.59 1.42 0.84 0.18 0.02 0.00 0.00

k=1.0

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 10.0 50.0 100.0

----------------------------------------------------------------------

1 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91 0.02 0.00 0.00

2 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91 0.02 0.00 0.00

9. Как ведет себя температурное поле как функция числа Померанцева?

В задаче нет числа Померанцева

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

11. Для вашего варианта как ведет себя температурное поле с ростом числа Био?

С ростом числа Био температура уменьшается

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

Bi=2

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 - --------------------------------------------------

1. 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91

2. 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91

Bi=3

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0

----------------------------------------------------

1. 0.00 2,12 1,80 1,24 0,32 0,04 1,17 1,44

2. 0.02 2,10 1,79 1,22 0,31 0,05 1,18 1,44

13. Для вашего варианта как ведет себя температурное поле с ростом числа Предводителева?

С ростом числа Предводителева температура уменьшается

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

Pd=0.5

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0 - ---------------------------------------------------

1. 0.00 2,43 2,11 1,51 0,52 0,12 1,22 1,91

2. 0.02 2,42 2,09 1,49 0,51 0,11 1,22 1,91

Pd=0.8

Tables: Teta-temperatures

# R/Fo 0.1 0.2 0.4 0.8 1.0 2.0 5.0

----------------------------------------------------

1. 0.00 2.36 1.97 1.29 0.27 0.11 1,17 1,26

2. 0.02 2,34 1,28 1,28 0,26 0,12 1,18 1,26

15. Для вашего варианта укажите интервал значений параметра Фурье, при которых наблюдается зависимость температурного поля от координат.

0.1-50

16. Для вашего варианта как ведет себя температурное поле с ростом числа Кирпичева?

Числа Кирпичева нет

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

7. Исследование средней температуры

1. Введите Вашу фамилию и имя

Любиченко Олег

2. Введите номер варианта задания

20

3. Введите номер учебной группы

ФТ-24

4. Введите текущий год

2006

5. Для вашего варианта как ведет себя средняя температура с ростом числа Фурье?

С ростом числа Фурье ср. т. уменьшается

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

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 2.4827

2. 0.2 1.4474

3. 0.4 -0.3610

4. 0.8 -3.0923

5. 1.0 -2.7040

6. 2.0 0.0817

7. 5.0 0.1601

8. 10.0 -1.9548

9. 50.0 -3.4056

10. 100.0 -3.4056

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

С ростом диаметра ср. т. уменьшается

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

k=0.15

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 2.847

2. 0.2 2.533

3. 0.4 1.954