RSS    

   Численное решение модельного уравнения - (реферат)

Численное решение модельного уравнения - (реферат)

Дата добавления: март 2006г.

Численное решение модельного уравнения диссипации, конвекции и кинетики

    СОДЕРЖАНИЕ
    Общая постановка задачи
    Постановка тестовых задач
    Методика решения тестовых задач
    Результаты вычислений
    Список литературы
    Приложения
    Приложение 1: Описание программы
    Приложение 2: Текст программы
    1. ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ

Перенос тепла (или вещества) теплопроводностью (для вещества соответственно диффузией) и конвекцией описывается дифференциальным уравнением параболического типа:

    ( 1 )

где температура (или концентрация). Пусть являются некоторыми константами и . Уравнение (1) при указанных выше предположениях называется модельным уравнением диссипации, конвекции и кинетики. Слагаемые правой части имеют следующий физический смысл:

- соответствует переносу тепла теплопроводностью (или вещества диффузией); - соответствует конвективному переносу;

- "кинетический член", соответствует источнику, пропорционально му температуре или концентрации;

    - интенсивность внешних источников или стоков.

В дальнейшем будем рассматривать только тепловую интерпретацию уравнения (1). Численное решение уравнения (1) будем искать в области :

    ( 2 )

при заданных начальных значениях температуры: ( 3 ) и граничных условиях.

Граничные условия описывают режимы теплообмена с внешней средой: при ;

    при .
    2. ПОСТАНОВКА ТЕСТОВЫХ ЗАДАЧ

В качестве тестовых задач для температуры мною были выбраны следующие пять функций: ( 9 )

    ( 10 )
    ( 11 )
    ( 12 )
    ( 13 )
    Для функции (9) имеем:
    Для функции (10):
    Для функции (11):
    Для функции (12):
    Для функции (13):

Данные функции тестировались на отрезке по X: [0, 1], по времени: [0, 1], с количеством разбиений по этим отрезкам - 30.

    3. МЕТОДИКА РЕШЕНИЯ ТЕСТОВЫХ ЗАДАЧ

Данная задача решается с помощью двухслойной неявно конечно-разностной схемы. Схема реализуется в три этапа.

1 этап: находятся предварительные значения с помощью 4-х точечной неявной схемы: ( 5 )

2 этап: используется за два шага. Сначала находятся на полученном слое () с шагом , а затем через . В этом случае используется 4-х точечная неявная разностная схема: ( 6 )

    ( 7 )

3 этап: окончательные значения находятся в виде линейной комбинации двух предварительных значений: ( 8 )

Для решения (1) воспользуемся формулами (5) - (8). Данные уравнения представляют трех диагональные матрицы, решаемые методом скалярной прогонки. В начале нужно преобразовать (5) – (7) к виду:

    ( 14 )
    Тогда (5) примет вид:
    Т. е. ;
    ;
    ;
    .
    Формула (6) преобразуется в:
    Т. е. ;
    ;
    ;
    .
    Формула (7) преобразуется в:
    Т. е. ;
    ;
    ;
    .
    Далее решаем по формулам скалярной прогонки:
    ( 15 )
    ( 16 )

Для определения , и воспользуемся данными граничными условиями, т. е. формулой (4) и функцией . Так если мы берём из формулы (9), то имеем:

    Приведём это выражение к виду: .
    Т. е. теперь мы имеем и :
    Далее найдем конечное :
    ( 18 )

Проведя аналогичные расчёты для заданных формулами (10) – (13), мы получим соответствующие , и . Далее мы можем решить системы методом прогонки и получить требуемый результат.

    4. РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЙ

В результате проведённых испытаний программа показала свою высокую надёжность. Были получены следующие данные.

При расчёте с использованием функции и входных данных ; ; ; ; ; ; на отрезке по X и по времени [0, 1] с шагом 0, 033 был получен результат с ошибкой равной 0, 0675. Для функции при ; ; ; ; ; ; , на том же промежутке, ошибка составляет 0, 055. С функцией и ; ; ; ; ; ; ошибка примет значение 0, 0435.

При и условиях ; ; ; ; ; ; в результате возникает ошибка равная 0, 0055. И, наконец, если выбрана функция и ; ; ; ; ; ; , то ошибка составит 0, 00255. Т. е. можно сказать, что мы имеем результат с первым порядком точности. Столь малую точность можно объяснить тем, что производная, найденная при граничных условиях, так же имеет первый порядок точности.

    СПИСОК ЛИТЕРАТУРЫ

А. Епанешников, В. Епанешников Программирование в среде Turbo-Pascal 7. 0. - М. : Диалог - Мифи, 1996. - 288 с. Петухова Т. П. , Сибирцев В. В. Пакет прикладных программ для численного моделирования процессов тепло- и массопереноса. – Караганда: Изд-во КарГУ. 1993

Фигурнов В. Э. IBM PC для пользователя. - М. : Инфра - М, 1995. - 432 с. Приложение 1

    ОПИСАНИЕ ПРОГРАММЫ

Поставленная задача была программно реализована на языке программирования Turbo-Pascal 7. 0.

    В состав программы входят следующие файлы:
    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, коэффициенты , , и номер выбранной функции SelectFunction.

Действие: вычисляет значение функции F при заданных X, t, , , . Выход: Fun_F – значение функции F.

    Function Betta_Zero (time: real): real;

Вход: значение времени t и глобальные коэффициенты , , , номер выбранной функции SelectFunction.

Действие: вычисляет , используемое в методе скалярной прогонки. Выход: Betta_Zero – значение .

    Function U_End (time, Alf, Bet: real): real;

Вход: значение времени t, , и глобальные коэффициенты , , , номер выбран ной функции SelectFunction.

Действие: вычисляет используемое в методе скалярной прогонки. Выход: U_End – значение .

    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; { Переменная режима ввода начальных данных }

Страницы: 1, 2


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.