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

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

Содержание

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

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

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

Блок-схемы

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

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

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

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

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

Выводы


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

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

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

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

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

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

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

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

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

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

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

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

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

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

k=1.0

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 2.669

2. 0.2 2.781

3. 0.4 1.668

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

Нет числа Померанцева

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

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

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

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

Bi=2

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 2.669

2. 0.2 2.781

3. 0.4 1.668

Bi=3

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 1.597

2. 0.2 0.779

3. 0.4 -0.694

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

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

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

Pd=0.5

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 1.597

2. 0.2 0.779

3. 0.4 -0.694

Pd=0.8

Tables: Heat spend

# Fo Qv,10^8

1. 0.1 1.4405

2. 0.2 0.5040

3. 0.4 -1.117

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

0,1-100

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

Нет числа Кирпичева

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

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

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

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

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

20

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

ФТ-24

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

2006

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

По условию задачи поток равен 0

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

# Fo P,10^6 P/P[Fo[1]]

1. 0.1 0.0000

2. 0.2 0.0000

3. 0.4 0.0000

4. 0.8 0.0000

5. 1.0 0.0000

6. 2.0 0.0000

7. 5.0 0.0000

8. 10.0 0.0000

9. 50.0 0.0000

10.100.0 0.0000

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

По условию задачи поток равен 0

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

# Fo P,10^6 P/P[Fo[1]]

1. 0.1 0.0000

2. 0.2 0.0000

3. 0.4 0.0000

4. 0.8 0.0000

5. 1.0 0.0000

6. 2.0 0.0000

7. 5.0 0.0000

8. 10.0 0.0000

9. 50.0 0.0000

10.100.0 0.0000

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

По условию задачи поток равен 0

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

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

По условию задачи поток равен 0

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

# Fo P,10^6 P/P[Fo[1]]

1. 0.1 0.0000

2. 0.2 0.0000

3. 0.4 0.0000

4. 0.8 0.0000

5. 1.0 0.0000

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

По условию задачи поток равен 0

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

# Fo P,10^6 P/P[Fo[1]]

1. 0.1 0.0000

2. 0.2 0.0000

3. 0.4 0.0000

4. 0.8 0.0000

5. 1.0 0.0000

6. 2.0 0.0000

7. 5.0 0.0000

8. 10.0 0.0000

9. 50.0 0.0000

10.100.0 0.0000

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

По условию задачи поток равен 0

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

По условию задачи поток равен 0

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

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

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

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

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

20

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

ФТ-24

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

2006

5. Считая, что физическая система описывается уравнениями вашего варианта, оцените время протекания процесса в секундах (минутах, часах, сутках). При этом избыточная температура равна 1000 Цельсия, толщина тела 50 см. Рассмотрите варианты того, что тело состоит из меди, железа, кирпича.

для меди более 30 часов, для железа около 15 суток, для кирпича около 297,5 суток

6. Если ваш вариант задания описывает тела разной геометрии, решите предыдущую задачу для тел разной геометрии.


10. Выводы

В ходе разработки компьютерной программы, для решения задачи теплофизического расчета, были приобретены важные знания и навыки. А также получен дополнительный опыт работы с программной средой Pascal. Результатами работы стала программа, имеющая возможность рассчитывать температурное поле, удельный расход тепла, тепловой поток на поверхности рассматриваемого тела, а также содержащая в себе следующие функции: отображение результатов в табличном виде, отображение результатов в графическом виде (семейство кривых) на экране компьютера, сохранение полученных результатов во внешние файлы.


Список литературы

Титаренко М. Г. Работа с программной средой Pascal// Прагма 2008, ил.

Томпсон Р. Основы дифференциального программирования. – М.: Полюс, 2005, - 302с.

Тарковский Д.Л. Вычислительные машины. – М.: Пиренс, 2002, -461с.