ВУЗ:
Составители:
156
{определяем начальные прогоночные коэффициенты на основе левого
граничного условия, используя соотношение (20) при условии, что
q
1
= 0}
alfa[1]:=2.0*tau*lamda/(2.0*tau*lamda+ro*c*sqr(hx));
beta[1]:=ro*c*sqr(hx)*T[1,j]/(2.0*tau*lamda+ro*c*sqr(hx));
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for i:= 2 to Nx-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления СЛАУ с
трехдиагональной матрицей}
ai:=lamda/sqr(hx);
bi:=2.0*lamda/sqr(hx)+ro*c/tau;
ci:=lamda/sqr(hx);
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;
{определяем значение температуры на правой границе, используя
соотношение (21) при условии, что q
2
= 0}
T[Nx,j]:=(ro*c*sqr(hx)*T[Nx,j]+2.0*tau*lamda*beta[Nx-1])
/(ro*c*sqr(hx)+2.0*tau*lamda*(1-alfa[Nx-1]));
{используя соотношение (7) определяем неизвестное поле температуры
на промежуточном (n+1/2) временном слое}
for i:= Nx-1 downto 1 do
T[i,j]:=alfa[i]*T[i+1,j]+beta[i];
end; {поле температуры на промежуточном (n+1/2) временном слое
определили}
{решаем СЛАУ в направлении оси Оу для определения поля
температуры на целом (n+1) временном слое}
for i:=1 to Nx do
begin
{определяем начальные прогоночные коэффициенты на основе нижнего
граничного условия, используя соотношения (24)}
alfa[1]
:=2.0*tau*lamda/(2.0*tau*(lamda+kapa*hy)+ro*c*sqr(hy));
beta[1]:=(ro*c*sqr(hy)*T[i,1]+2.0*tau*kapa*hy*Te)
/(2.0*tau*(lamda+kapa*hy)+ro*c*sqr(hy));
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for j:= 2 to Ny-1 do
Страницы
- « первая
- ‹ предыдущая
- …
- 154
- 155
- 156
- 157
- 158
- …
- следующая ›
- последняя »