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

UptoLike

100
bi:=ai+ci+ro*c/tau;
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;
{определяем значение температуры на правой границе на основе
правого граничного условия}
T[N]:=Tc;
{используя соотношение (7) определяем неизвестное поле
температуры}
for i:= N-1 downto 1 do
T[i]:=alfa[i]*T[i+1]+beta[i];
{определяем максимум модуля разности температур на данной и
предыдущей итерации}
max1:=abs(T[1]-Ts[1]);
for i:= 2 to N do
if max1 < abs(T[i]-Ts[i]) then max1:=abs(T[i]-Ts[i]);
{определяем максимальное по модулю значение температуры на данной
итерации}
max2:=abs(T[1]);
for i:= 2 to N do
if max2 < abs(T[i]) then m
ax2:=abs(T[i]);
until max1/max2<=eps; {цикл с постусловием окончен}
Writeln(f1,'В момент времени ',time:6:4,' проведено ',s,' итераций');
end; {цикл с предусловием окончен}
{выводим результат в файл}
Assign(f,'res.txt');
Rewrite(f);
Writeln(f,'Толщина пластины L = ',L:6:4);
Writeln(f,'Число узлов по координате N = ',N);
Writeln(f,'Плотность материала пластины ro = ',ro:6:4);
Writeln(f,'Теплоемкость материала пластины с = ',c:6:4);
Writeln(f,'Начальная температура T0 = ',T0:6:4);
Writeln(f,'Температура на границе x = 0, Th = ',Th:6:4);
Writeln(f,'Температура на границе x = L, Tc = ',Tc:6:4);
Writeln(f,'Результат получен с шагом по координ
ате h = ',h:6:4);
Writeln(f,'Результат получен с шагом по времени tau = ',tau:6:4);
Writeln(f,'Температурное поле в момент времени t = ',t_end:6:4);
close(f);
Assign(g,'tempr.txt');