ВУЗ:
Составители:
39
{определяем расчетный шаг сетки по пространственной координате}
h:=L/(N-1);
{определяем коэффициент температуропроводности}
a:=lamda/(ro*c);
{определяем расчетный шаг сетки по времени}
tau:=t_end/100.0;
{определяем поле температуры в начальный момент времени}
for i:= 1 to N do
T[i]:=T0;
{проводим интегрирование нестационарного уравнения
теплопроводности}
time:=0;
while time<t_end do {используем цикл с предусловием}
begin
{увеличиваем переменную времени на шаг τ}
time:=time+tau;
{определяем начальные прогоночные коэффициенты на основе левого
граничного условия, используя соотношения (
20)}
alfa[1]:=2.0*a*tau/(2.0*a*tau+sqr(h));
beta[1]:=(sqr(h)*T[1]+2.0*a*tau*h*q/lamda)/(2.0*a*tau+sqr(h));
{цикл с параметром для определения прогоночных коэффициентов по
формуле (8)}
for i:= 2 to N-1 do
begin
{ai, bi, ci, fi – коэффициенты канонического представления СЛАУ с
трехдиагональной матрицей}
ai:=lamda/sqr(h);
bi:=2.0*lamda/sqr(h)+ro*c/tau;
ci:=lamda/sqr(h);
fi:=-ro*c*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;
{определяем значение температуры на правой границе, используя
соотношение (25)}
T[N]:=(lamda*sqr(h)*T[N]+2.0*a*tau*(lamda*beta[N-1]+kapa*h*Te))
/(lamda*sqr(h)+2.0*a*tau*(lamda*(1-alfa[N-1])+kapa*h));
{используя соотношение (7) определяем неизвестное поле
темпера
туры}
for i:= N-1 downto 1 do
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »
