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

UptoLike

120
{ai, bi, ci, fi – коэффициенты канонического представления системы
уравнений с трехдиагональной матрицей}
ai:=lamda/sqr(h);
bi:=2.0*lamda/sqr(h)+ro*c/tau;
ci:=lamda/sqr(h);
fi:=-ro*c*Tn[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;
{цикл с постусловием, позволяющий итерационно вычислить значение
температуры на правой границе, вследствие наличия нелинейности в
этом граничном условии}
repeat
d1:=T[N];
{определяем значение температуры на правой границе на основе
правого граничного условия, используя соотношение (55)}
T[N]:=(ro*c*sqr(h)*Tn[N]+2.0*tau*(lam
da*beta[N-1]+h*q))/(ro
*c*sqr(h)+2.0*tau*lamda*(1-alfa[N-1]))-2.0*tau*A*h*qev
*(P0*exp(-qev/(R*d1))-Patm)/((ro*c*sqr(h)+2.0*tau*lamda
*(1-alfa[N-1]))*sqrt(2.0*pi*R*d1/M));
until abs(d1-T[N])<=eps; {значение температуры справа определили}
{используя соотношение (7) определяем неизвестное поле
температуры}
for i:= N-1 downto 1 do
T[i]:=alfa[i]*T[i+1]+beta[i];
until abs(d-T[1])<=eps; {значение температуры слева определили}
end; {цикл с предусловием окончен}
{выводим результат в файл}
Assign(f,'res.txt');
Rewrite(f);
Writeln(f,'Толщина пластины L = ',L:6:4);
Writeln(f,'Число узлов по координате N = ',N);
Writeln(f,'Коэффициент теплопроводности материала пластины lamda =
',lamda:6:4);
Writeln(f,'Плотность материала пластины ro = ',ro:6:4);
Writeln(f,'Теплоемкость мат
ериала пластины с = ',c:6:4);
Writeln(f,'Коэффициент аккомодации A = ',A:6:4);
Writeln(f,'Плотность теплового потока на границе q = ',q:6:4);
Writeln(f,'Тепловой эффект фазового перехода qev = ',qev:6:4);
Writeln(f,'Молярная масса M = ',M:6:4);