Численное решение модельного уравнения диссипации, конвекции и кинетики
Категория реферата: Рефераты по математике
Теги реферата: доклад на тему культура, доклади
Добавил(а) на сайт: Дора.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
В состав программы входят следующие файлы: basis.pas - PAS-файл основной части программы
(решение системы уравнений методом скалярной
прогонки); basis.v&v - EXE-файл основной части программы (вызывается из
START.PAS); fun.bmp - BMP-фаил с изображением функций; inform.v&v - TXT-фаил с информацией о программе (вызывается из
START.PAS); music.v&v - музыкальный EXE-фаил (вызывается из START.PAS); my_menu.pas - UNIT для создания меню; sea.exe - программа для просмотра графических файлов; start.pas - файл для запуска всей программы; u - файл с результатами работы; zastavka.v&v - EXE-фаил с заставкой к основной программе
(вызывается из START.PAS).
Файл START является, как бы оболочкой программы, из которой вызываются другие файлы. Сам процесс решения содержится в файле BASIS.
BASIS содержит следующие процедуры и функции:
Function Fun_U (Xm,t:real):real;
Вход: значение по X и значение по времени t, а также глобальная
переменная выбранной функции SelectFunction.
Действие: вычисляет точное значение функции U при заданных X и t.
Выход: Fun_U – значение функции.
Function Fun_F (Xm,t,a,b,v:real):real;
Вход: значение по X, по времени t, коэффициенты [pic], [pic], [pic] и номер выбранной функции
SelectFunction.
Действие: вычисляет значение функции F при заданных X, t, [pic], [pic],
[pic].
Выход: Fun_F – значение функции F.
Function Betta_Zero (time:real): real;
Вход: значение времени t и глобальные коэффициенты [pic], [pic],
[pic], номер выбранной функции SelectFunction.
Действие: вычисляет [pic], используемое в методе скалярной прогонки.
Выход: Betta_Zero – значение [pic].
Function U_End (time,Alf,Bet:real): real;
Вход: значение времени t, [pic], [pic] и глобальные коэффициенты [pic],
[pic], [pic], номер выбран- ной функции SelectFunction.
Действие: вычисляет [pic] используемое в методе скалярной прогонки.
Выход: U_End – значение [pic].
Procedure PrintArray;
Вход: использует глобальный массив данных U_m.
Действие: выдает содержимое U_m на экран и в файл.
Выход: вывод U_m.
Приложение 2
Т Е К С Т П Р О Г Р А М М Ы
Основная часть программы выглядит так:
Program Basis;
Uses Crt; { Подключение библиотек }
Label Metka1,Metka2; { Метки }
Var a, b, v : real; { Коэффициенты, задаются пользователем } h, tau : real; { Шаг по X и по времени соответственно }
X,x0 : real; { Конечное и начальное значение X } m,n,k : word; { Переменные используемые в циклах для расчета }
T,t0 : real; { Конечное и начальное значение времени }
Kol_voX, Kol_voT : word; { Количество разбиений по X и по времени }
U_m,U_,_U_1_2,_U_1 : array [0..200] of real; { Массивы результатов } z : array [0..200] of real; { Массив точных решений }
Xm : real; { Промежуточный X }
Alfa,Betta : array [0..200] of real; { Массив коэффициентов
используемых при скалярной прогонке } a_progonka, b_progonka, c_progonka, d_progonka : real; { Коэффициенты
для скалярной прогонки }
Error : real; { Значение ошибки } time : real; { Переменная времени } ch : char; { Код нажатой клавиши }
SelectFunction:word; { Номер выбранной функции }
U : text; { Переменная для вывода результата в файл }
Alfa_1,Alfa_2,Betta_1,Betta_2 : real; { Коэффициенты граничных условий
}
Data : word; { Переменная режима ввода начальных данных }
Function Fun_U (Xm,t:real):real; { Функция U (точное решение) } begin
If SelectFunction=1 then Fun_U:=SQR(Xm)*Xm+SQR(t);
If SelectFunction=2 then
Fun_U:=SQR(Xm)*SQR(t)*t+10*Xm*t+SQR(SQR(t))*Xm;
If SelectFunction=3 then Fun_U:=Xm*SIN(Xm*t)-4*SQR(Xm)*COS(t);
If SelectFunction=4 then Fun_U:=t*EXP(Xm);
If SelectFunction=5 then Fun_U:=SIN(Xm)+EXP(t); end;
Function Fun_F (Xm,t,a,b,v:real):real; { Функция F } begin if SelectFunction=1 then Fun_F:=2*t-v*6*Xm+a*3*SQR(Xm)-
b*(SQR(Xm)*Xm+SQR(t)); if SelectFunction=2 then Fun_F:=3*SQR(Xm)*SQR(t)+10*Xm+4*SQR(t)*t*Xm-
v*2*SQR(t)*t+ a*(2*Xm*SQR(t)*t+10*t+SQR(SQR(t)))-
b*(SQR(Xm)*SQR(t)*t+10*Xm*t+Xm*SQR(SQR(t))); if SelectFunction=3 then Fun_F:=SQR(Xm)*COS(Xm*t)+4*SQR(Xm)*SIN(t)-
v*(2*COS(Xm*t)*t-
Xm*SIN(Xm*t)*SQR(t)-8*COS(t))+a*(SIN(Xm*t)+Xm*t*COS(Xm*t)-
8*COS(t)*Xm)- b*(Xm*SIN(Xm*t)-4*SQR(Xm)*COS(t)); if SelectFunction=4 then Fun_F:=EXP(Xm)-v*(t*EXP(Xm))+a*(t*EXP(Xm))-
b*(t*EXP(Xm)); if SelectFunction=5 then Fun_F:=EXP(t)-v*(-SIN(Xm))+a*(COS(Xm))-
b*(SIN(Xm)+EXP(t)); end;
Function Betta_Zero (time:real): real; { Функция Betta[0] для прогонки } begin
If SelectFunction=1 then Betta_Zero:=(h/(Betta_1*h-
Alfa_1))*(Alfa_1*3*SQR(x0)+
Betta_1*(SQR(x0)*x0+SQR(time)));
If SelectFunction=2 then Betta_Zero:=(h/(Betta_1*h-
Alfa_1))*(Alfa_1*(2*x0*SQR(time)*time+
10*time+SQR(SQR(time)))+Betta_1*(SQR(x0)*SQR(time)*time+10*x0*time+SQR(SQR(t ime))*x0));
Рекомендуем скачать другие рефераты по теме: рефераты, реферат скачать управление.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата