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

UptoLike

71
fi:=-ro*c*T[i,j]/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[Nx,j]:=Tc;
{используя соотношение (7) определяем неизвестное поле температуры
на промежуточном временном слое}
for i:= Nx-1 downto 1 do
T[i,j]:=alfa[i]*T[i+1,j]+beta[i];
end;
{решаем СЛАУ в направлении оси Оу для определения поля
температуры на целом временном слое}
for i:=2 to Nx-1 do
begin
{определяем начальные прогоночные коэффициенты на основе нижнего
граничного условия, используя соотношения (20) при условии, что
q
1
= 0}
alfa[1]:=2.0*a*tau/(2.0*a*tau+sqr(hy));
beta[1]:=sqr(hy)*T[i,1]/(2.0*a*tau+sqr(hy));
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for j:= 2 to Ny-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления СЛАУ с
трехдиагональной матрицей}
ai:=lamda/sqr(hy);
bi:=2.0*lamda/sqr(hy)+ro*c/tau;
ci:=lamda/sqr(hy);
fi:=-ro*c*T[i,j]/tau;
{alfa[j], beta[j] – прогоночные коэффициенты}
alfa[j]:=ai/(bi-ci*alfa[j-1]);
beta[j]:=(ci*beta[j-1]-fi)/(bi-ci*alfa[j-1]);
end;
{определяем значение температуры на верхней границе, используя
соотношение (21) при условии, что q
2
= 0}
T[i,Ny]:=(2.0*a*tau*beta[Ny-1]+sqr(hy)*T[i,Ny])/(2.0*a*tau
*(1.0-alfa[Ny-1])+sqr(hy));