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

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

СОДЕРЖАНИЕ

  1. Общая постановка задачи
  2. Постановка тестовых задач
  3. Методика решения тестовых задач
  4. Результаты вычислений

Список литературы

Приложения

Приложение 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,255.

Т.е. можно сказать, что мы имеем результат с первым порядком точности. Столь малую точность можно объяснить тем, что производная, найденная при граничных условиях, так же имеет первый порядок точности.

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

  1. А. Епанешников, В. Епанешников Программирование в среде Turbo-Pascal 7.0. — М.: Диалог — Мифи, 1996. — 288 с.
  2. Петухова Т. П., Сибирцев В. В. Пакет прикладных программ для численного моделирования процессов тепло- и массопереноса. — Караганда: Изд-во КарГУ. 1993
  3. Фигурнов В. Э. 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; { Подключение библиотек }