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

UptoLike

99
{определяем расчетный шаг сетки по пространственной координате}
h:=L/(N-1);
{определяем расчетный шаг сетки по времени}
tau:=t_end/100.0;
{определяем поле температуры в начальный момент времени}
for i:= 2 to N-1 do
T[i]:=T0;
{заводим файл содержащий количество итераций на каждом шаге по
времени}
Assign(f1,'iter.txt');
Rewrite(f1);
{проводим интегрирование нестационарного уравнения
теплопроводности}
time:=0;
while time<t_end do {используем цикл с предусловием}
begin
{увеличиваем переменную времени на шаг τ}
time:=time+tau;
{запоминаем поле темпера
туры на предыдущем временном слое}
for i:= 1 to N do
Tn[i]:=T[i];
s:=0; {будем считать число итераций}
{цикл с постусловием, позволяющий итерационно вычислять поле
температуры}
repeat
inc(s);
{запоминаем поле температуры на предыдущей итерации}
for i:= 1 to N do
Ts[i]:=T[i];
{определяем начальные прогоночные коэффициенты на основе левого
граничного условия}
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);