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,00255 . Т.е. можно сказать, что мы имеем результат с первым порядком точности. Столь малую точность можно объяснить тем, что производная, найденная при граничных условиях, так же
имеет первый порядок точности. СПИСОК ЛИТЕРАТУРЫ 1. А. Епанешников, В. Епанешников Программирование в среде Turbo-Pascal 7.0 М.: Диалог - Мифи, 1996 288 с. 2. Петухова Т. П Сибирцев В. В. Пакет прикладных программ для численного моделирования процессов тепло- и массопереноса. – Караганда: Изд-во КарГУ. 1993 3.
Фигурнов В. Э. IBM PC для пользователя М.: Инфра - М, 1995 432 с. Приложение 1 Pascal 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