Численное решение модельного уравнения диссипации, конвекции и кинетики
| Категория реферата: Рефераты по математике
| Теги реферата: доклад на тему культура, доклади
| Добавил(а) на сайт: Дора.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
Write(' Нажмите любую клавишу'); ReadKey; end else
ReadLn(Betta_2);
{ Интерфейс экрана при выдаче результата }
TextBackGround(3); TextColor(1); Window(1,1,80,25); ClrScr; WriteLn;
WriteLn('г===================== Результат ==========================¬');
For k:=1 to 21 do
WriteLn('¦
¦');
WriteLn('==================================================================
=-');
TextColor(0); TextBackGround(7); GoToXY(2,23);
WriteLn(' Для продолжения нажмите любую клавишу'); TextBackGround(3);
Window(3,4,77,22);
TextColor(15); ClrScr;
{ Вычесление шага сетки } tau:=(T-t0)/Kol_voT; h:=(X-x0)/Kol_voX;
{ Ввод данных при time=t0 }
For m:=0 to Kol_voX do begin
Xm:=x0+h*m; U_m[m]:=Fun_U(Xm,t0); end;
TextColor(14); WriteLn('Время равно ',time:3:3); TextColor(15);
WriteLn(U,'Время равно ',time:3:3);
PrintArray;
{ Начало рассчета } time:=t0;
Repeat time:=time+tau;
WriteLn; TextColor(14); WriteLn('Время равно ',time:3:3);
TextColor(15);
WriteLn(U,'Время равно ',time:3:3);
{ 1 этап. Решается методом скалярной прогонки } a_progonka:=(-2*v-a*h)/(2*SQR(h)); b_progonka:=(SQR(h)+2*v*tau-
b*tau*SQR(h))/(SQR(h)*tau); c_progonka:=(a*h-2*v)/(2*SQR(h));
Alfa[0]:=Alfa_1/(Alfa_1-Betta_1*h); Betta[0]:=Betta_Zero(time);
For m:=1 to Kol_voX-1 do begin
Alfa[m]:=-c_progonka/(a_progonka*Alfa[m-1]+b_progonka);
Betta[m]:=(Fun_F(x0+m*h,time+tau,a,b,v)+U_m[m]/tau-a_progonka*Betta[m-
1])/
(a_progonka*Alfa[m-1]+b_progonka); end;
U_[Kol_voX]:=U_End(time,Alfa[Kol_voX-1],Betta[Kol_voX-1]);
For m:=Kol_voX-1 downto 1 do
U_[m]:=Alfa[m]*U_[m+1]+Betta[m];U_[0]:=Alfa[0]*U_[1]+Betta[0];
{ 2 этап, часть первая. Решается методом скалярной прогонки } a_progonka:=(-2*v-a*h)/(2*SQR(h)); b_progonka:=(2*SQR(h)+2*v*tau-
b*tau*SQR(h))/(SQR(h)*tau); c_progonka:=(a*h-2*v)/(2*SQR(h));
Alfa[0]:=Alfa_1/(Alfa_1-Betta_1*h); Betta[0]:=Betta_Zero(time);
For m:=1 to Kol_voX-1 do begin
Alfa[m]:=-c_progonka/(a_progonka*Alfa[m-1]+b_progonka);
Betta[m]:=(Fun_F(x0+m*h,time+tau/2,a,b,v)+2*U_m[m]/tau- a_progonka*Betta[m-1])/
(a_progonka*Alfa[m-1]+b_progonka); end;
_U_1_2[Kol_voX]:=U_End(time,Alfa[Kol_voX-1],Betta[Kol_voX-1]);
For m:=Kol_voX-1 downto 1 do _U_1_2[m]:=Alfa[m]*_U_1_2[m+1]+Betta[m];
_U_1_2[0]:=Alfa[0]*_U_1_2[1]+Betta[0];
{ 2 этап, часть вторая. Решается методом скалярной прогонки } a_progonka:=(-2*v-a*h)/(2*SQR(h)); b_progonka:=(2*SQR(h)+2*v*tau-
b*tau*SQR(h))/(SQR(h)*tau); c_progonka:=(a*h-2*v)/(2*SQR(h));
Alfa[0]:=Alfa_1/(Alfa_1-Betta_1*h); Betta[0]:=Betta_Zero(time);
For m:=1 to Kol_voX-1 do begin
Alfa[m]:=-c_progonka/(a_progonka*Alfa[m-1]+b_progonka);
Betta[m]:=(Fun_F(x0+m*h,time+tau,a,b,v)+2*_U_1_2[m]/tau- a_progonka*Betta[m-1])/
(a_progonka*Alfa[m-1]+b_progonka); end;
_U_1[Kol_voX]:=U_End(time,Alfa[Kol_voX-1],Betta[Kol_voX-1]);
For m:=Kol_voX-1 downto 1 do _U_1[m]:=Alfa[m]*_U_1[m+1]+Betta[m];
_U_1[0]:=Alfa[0]*_U_1[1]+Betta[0];
{ 3 этап. Окончательное значение }
For m:=0 to Kol_voX do
U_m[m]:=2*_U_1[m]-U_[m];
PrintArray; { Вывод результата на экран и его запись в файл }
For m:=0 to Kol_voX do { Рассчет точного значения функции } begin z[m]:=Fun_U(x0+m*h,time); end;
{ Вывод ошибки расчета на экран и в файл }
Error:=0;
For m:=0 to Kol_voX do begin a:=Abs(U_m[m]-z[m]); If ErrorT;
Close(U); { Закрытие файла с результатами }
End.
Министерство общего и профессионального образования РФ
Оренбургский государственный университет
Институт энергетики и информатики
кафедра: Информатики
Р А С Ч Е Т Н О – Г Р А Ф И Ч Е С К О Е
З А Д А Н И Е
Рекомендуем скачать другие рефераты по теме: рефераты, реферат скачать управление.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата