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

UptoLike

55
fi:=-ro1*c1*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;
{определяем прогоночные коэффициенты на границе раздела двух
частей, используем соотношения (28)}
alfa[N1+1]:=2.0*a1*a2*tau*lamda2/(2.0*a1*a2*tau*(lamda2+lamda1
*(1-alfa[N1]))+sqr(h)*(a1*lamda2+a2*lamda1));
beta[N1+1]:=(2.0*a1*a2*tau*lamda1*beta[N1]+sqr(h)*(a1*lamda2+a2
*lamda1)*T[N1+1])/(2.0*a1*a2*tau*(lamda2+lamda1
*(1-alfa[N1]))+sqr(h)*(a1*lamda2+a2*lamda1));
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8) во второй части пластины}
for i:= N1+2 to N-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления СЛАУ с
трехдиагональной матрицей}
ai:=lamda2/sqr(h);
bi:=2.0*lamda2/sqr(h)+ro2*c2/tau;
ci:=lamda2/sqr(h);
fi:=-ro2*c2*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]:=Tr;
{используя соотношение (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,'Толщина первой части пластины = ',N1*h:6:4);
Writeln(f,'Толщина второй части пластины = ',N2*h:6:4);
Writeln(f,'Число промежутков по координате в первой части пластины
N1 = ',N1);