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

UptoLike

168
{ai, bi, ci, fi – коэффициенты канонического представления систему
уравнений с трехдиагональной матрицей}
ai:=lamda/sqr(hx);
bi:=2.0*lamda/sqr(hx)+kapa/h+ro*c/tau;
ci:=lamda/sqr(hx);
fi:=-ro*c*Tn[i,j]/tau-kapa*Te/h-eps1*sigma
*(sqr(sqr(Te))-sqr(sqr(T[i,j])))/h;
{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) определяем неизвестное поле температуры
на промежуточном (n+1/2) временном слое}
for i:= Nx-1 downto 1 do
T[i,j]:=alfa[i]*T[i+1,j]+beta[i];
{определяем максимум модуля разности локальных значений
температур на текущей и на предыдущей итерации}
max:=abs(T[1,j
]-Ts[1,j]);
for i:=2 to Nx do
if max < abs(T[i,j]-Ts[i,j]) then max:=abs(T[i,j]-Ts[i,j]);
until max<=eps; {окончание цикла с постусловием}
end; {поле температуры на промежуточном (n+1/2) временном слое
определили}
{запоминаем поле температуры на промежуточном (n+1/2) временном
слое}
for i:=1 to Nx do
for j:=1 to Ny do
Tn[i,j]:=T[i,j];
{решаем СЛАУ в направлении оси Оу для определения поля
температуры на целом (n+1) временном слое}
for i:=2 to Nx-1 do
begin
{определяем начальные прогоночные коэффициенты на основе нижнего
граничного условия, используя соотношения (
20) при условии, что
q
1
= 0}
alfa[1]:=2.0*lamda*tau/(ro*c*sqr(hy)+2.0*lamda*tau);
beta[1]:=ro*c*sqr(hy)*Tn[i,1]/(ro*c*sqr(hy)+2.0*lamda*tau);