Разностные методы решения задач теплопроводности. Кузнецов Г.В - 109 стр.

UptoLike

109
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for i:= 2 to N-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления системы
уравнений с трехдиагональной матрицей}
ai:=lamda/sqr(h);
bi:=2.0*lamda/sqr(h)+ro*c/tau;
ci:=lamda/sqr(h);
fi:=-ro*c*Tn[i]/tau;
{alfa[i], beta[i] – прогоночные коэффициенты}
alfa[i]:=ai/(bi-ci*alfa[i-1]);
beta[i]:=(ci*beta[i-1]-fi)/(bi-ci*alfa[i-1]);
end;
{цикл с постусловием, позволяющий итерационно вычислить значение
температуры на правой границе, вследствие наличия нелинейности в
этом граничном условии}
repeat
d1:=T[N];
{определяем значение температуры на правой г
ранице на основе
правого граничного условия, используя соотношение (49)}
T[N]:=(ro*c*sqr(h)*Tn[N]+2.0*tau*(lamda*beta[N-1]+kapa2*h*Te2
+eps2*sigma*h*(sqr(sqr(Te2))-sqr(sqr(d1)))))
/(ro*c*sqr(h)+2.0*tau*(lamda*(1-alfa[N-1])+kapa2*h));
until abs(d1-T[N])<=eps; {значение температуры справа определили}
{используя соотношение (7) определяем неизвестное поле
температуры}
for i:= N-1 downto 1 do
T[i]:=alfa[i]*T[i+1]+beta[i];
until abs(d-T[1])<=eps; {значение температуры справа определили}
end; {цикл с предусловием окончен}
{выводим результат в файл}
Assign(f,'res.txt');
Rewrite(f);
Writeln(f,'Толщина пластины L = ',L:6:4);
Writeln(f,'Число узлов по координате N = ',
N);
Writeln(f,'Коэффициент теплопроводности материала пластины lamda =
',lamda:6:4);
Writeln(f,'Плотность материала пластины ro = ',ro:6:4);
Writeln(f,'Теплоемкость материала пластины с = ',c:6:4);
Writeln(f,'Начальная температура T0 = ',T0:6:4);