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

UptoLike

93
{определяем начальные прогоночные коэффициенты на основе левого
граничного условия}
alfa[1]:=0.0;
beta[1]:=Th;
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for i:= 2 to N-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления системы
уравнений с трехдиагональной матрицей}
ai:=0.5*(lamda(T[i])+lamda(T[i+1]))/sqr(h);
ci:=0.5*(lamda(T[i-1])+lamda(T[i]))/sqr(h);
bi:=ai+ci+ro*c/tau;
fi:=-ro*c*T[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];
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');