ординат
EZgrid;// Виклик процедури
end;
procedure BEGIN//Визначення початкових граничних умов
var, j: integer; [2]:=1; [1]:=1; [2]:=1; [1]:=1; [2]:=1 ;: =6;
//задаємо теплопровідність металламForm1.N14.Checked then cond:=3; Form1.N15.Checked then cond:=7; Form1.N16.Checked then cond:=11; Form1.N17.Checked then cond:=19;
//присвоюємо довільні значення
cp:=1;// теплоємності
den:=1;// щільності
dpdz:=- 1;// градієнту тиску
t1:=StrToFloat (Form1.Edit1.Text);// Температура нагріву
t2:=StrToFloat (Form1.Edit2.Text);// Температура стінки каналу
temperGraf:=t2;
phocp:=den * cp;// об'ємна теплоємність
for j:=1 to m1 doi:=1 to l1 do [i, j, 1]:=0; [i, j, 2]:=t1;// t1; [i, m1,2]:=t2;// t2 ;;;
OUTPUT;// Розрахунок та виведення на екран
var, i, iunit: integer; (iter=0) then [1]:=1 ;;
if (iter=3) then//після трьох ітерацій знаходження швидкості w,
begin//починаємо знаходити температуру Т
ksolve [1]:=1;
ksolve [2]:=0 ;;;;
PRINT//Виведення інформації про сітку і двовимірних полів, j: integer ;, temper1: double;
//виводимо значення в табліцуi:=49 downto 1 doj:=1 to 17 do.StringGrid2.Cells [i, j]:=FloaToStrF ((f [i, j, 2]), ffFixed, 5,2);
//виводимо заголовки таблиці
for i:=49 downto 1 do
Form3.StringGrid2.Cells [i, 0]:=IntToStr (i) + радіус raquo ;; j:=1 to 17 do.StringGrid2.Cells [0, j]:=IntToStr (j) + сектор raquo ;;
:=(StrToFloat (Form3.StringGrid2.Cells [48,16]) + (Form3.StringGrid2.Cells [49,16]))/2; .StringGrid2.Cells [48,17] :=FloatToStrF (temper, ffFixed, 5,2);:=(StrToFloat (Form3.StringGrid2.Cells [2,16]) + (Form3.StringGrid2.Cells [1,16]))/2; .StringGrid2.Cells [1,17]:=FloatToStrF (temper, ffFixed, 5,2);
:=StrToFloat (Form3.StringGrid2.Cells [13,2]);:=StrToFloat (Form3.StringGrid2.Cells [1,2]);
(Form1.N41.Checked=true) then:=StrToFloat (Form3.StringGrid2.Cells [7,2]) (Form1.N61.Checked=true) then:=StrToFloat (Form3.StringGrid2.Cells [4,2]);:=StrToFloat (Form3.StringGrid2.Cells [9,2]) ;;
end;
procedure ZGRID//надання інформації про розрахункову сітці
var, i1, i2, j, j1, j2, nz, ilast, jlast: integer;, fcvlx, fcvly: double; [2]:=0.;:=2; nz:= 1 to nzx do:=(ncvx [nz]);:=i2;:=ilast + 1;:=ilast + ncvx [nz]; i:=i1 to i2 do:=(i-ilast)/fcvlx; ( powrx [nz] gt; 0) then[i]:=xu[ilast]+xzone[nz]*power(dd,powrx[nz])[i]:=xu[ilast]+xzone[nz]*(1.-power((1.-dd),(-powrx[nz])));;
end;
L1:=i2;// Розглядається напрямок Y
yv [2]:=0.;:=2; nz:=1 to nzy do:=ncvy [nz];:=j2;:=jlast + 1;:=jlast + ncvy [nz]; j:=j1 to j2 do:=(j-jlast)/fcvly; (powry [nz] gt; 0) then[j]:=yv[jlast]+yzone[nz]*power(dd,powry[nz])[j]:=yv[jlast]+yzone[nz]*(1.-power((1.-dd),(-powry[nz])));;;:=j2;;
EZGRID, fcvly, dd: double;
i, j: integer;
//Побудова сітки зона за зоною
//Розглядається напрямок X:=ncvlx + 2; [2]:=0 .;// координати граней по х [L1]:=xl;
L2:=L1-1;:=ncvlx; i:=3 to L2 do:=(i - 2)/fcvlx; (powerx gt; 0) then[i]:=xl*power(dd,powerx)[i]:=xl*(1.-power((1.-dd),(-powerx)));;:=ncvly+2;[2]:=0.;[M1]:=yl;:=M1-1;:=ncvly;j:=3 to M2 do:=(j - 2)/fcvly; (powery gt; 0) then [j]:=yl * power (dd, powery) [j]:=yl * (1.-power ((1.-dd ), (- powery)));
end ;;
procedure HEART ()
//Розрахунок коефіцієнтів дискретних аналогів і модифікація граничних умов
label;, j, i: integer;, rlx, vol, apt, diff, temp, area, anb, ainr: double;
begin
//Побудова циклу для всіх аналоговn:=1 to nfmax do//послідовне обчислення кожної залежної змінної:=n; (ksolve [nf]=0) then goto Lab2;// перехід до наступної ітерації циклу;
//Обчислення коефіцієнтів дискретних аналогів:=4./3.;
if (kord=1) then beta:=1.;:=(1.-relax [nf])/relax [nf];
//Розглядаються об'ємні условіяj:=2 to M2 do
for i:=2 to L2 do
vol:=Ycvr [j] * Xcv [i];// обсяг КО
apt:=alam [i, j]/dt; [i, j]:=(sc...