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

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

Содержание


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


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


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


Блок-схемы


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


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


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


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


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


Выводы


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


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


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


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


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


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


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


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


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


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


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


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


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


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

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

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

Слов:2278
Символов:25105
Размер:49.03 Кб.