ВУЗ:
Составители:
157
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;
{запоминаем значение температуры на верхней границе с
промежуточного (n+1/2) временного слоя}
d:=T[i,Ny];
{цикл с постусловием, позволяющий итерационно вычислить значение
температуры на верхней границе, вследствие наличия нелинейности в
этом граничном условии}
repeat
d1:=T[i,Ny];
{определяем значение температуры на верхней границе на основе
верхнего граничного условия, используя соотношение (
55)}
T[i,Ny]:=(ro*c*sqr(hy)*d+2.0*tau*(lamda*beta[Ny-1]+h*q))
/(ro*c*sqr(hy)+2.0*tau*lamda*(1-alfa[Ny-1]))-2.0*tau
*A*hy*qev*(P0*exp(-qev/(R*d1))-Patm)/((ro*c*sqr(hy)
+2.0*tau*lamda*(1-alfa[Ny-1]))*sqrt(2.0*pi*R*d1/M));
until abs(d1-T[i,Ny])<=eps; {значение температуры на верхней
границе определили}
{используя соотношение (7) определяем неизвестное поле температуры
на целом (n+1) временном слое}
for j:= Ny-1 downto 1 do
T[i,j]:=alfa[j]*T[i,j+1]+beta[j];
end; {поле температуры на целом (n+1) временном слое определили}
end; {цикл с предусловием окончен}
{выводим результат в файл}
Assign(f,'
res.txt');
Rewrite(f);
Writeln(f,'Длина пластины L = ',L:6:4);
Writeln(f,'Толщина пластины H = ',H:6:4);
Writeln(f,'Число узлов по пространственной координате x в пластине
Nx = ',Nx);
Страницы
- « первая
- ‹ предыдущая
- …
- 155
- 156
- 157
- 158
- 159
- …
- следующая ›
- последняя »