МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Воронежский государственный технический университет
Кафедра
конструирования и производства радиоаппаратуры
КУРСОВОЙ ПРОЕКТ
Расчетно-пояснительная записка
на
тему «Разработка программного продукта для расчета тепловых коэффициентов для
тел с распределенными и сосредоточенными источниками энергии»
Содержание
Введение
. Математические модели для расчета тепловых коэффициентов для тел с распределенными и сосредоточенными источниками энергии
1.1 Параллелепипед с равномерно распределенным источником тепла; граничные условия первого рода
1.2 Параллелепипед с равномерно распределенным источником тепла, грани которого находятся в состоянии теплообмена со средой
.3 Параллелепипед с источниками тепла, равномерно распределенными на двух противоположных гранях
2. Алгоритмы вычислений
.1 Параллелепипед с равномерно распределенным источником тепла; граничные условия первого рода
.2 Параллелепипед с равномерно распределенным источником тепла, грани которого находятся в состоянии теплообмена со средой
.3 Параллелепипед с источниками тепла, равномерно распределенными на двух противоположных гранях
. Структура и описание программ
. Руководство пользователю
.1 Описание окна ввода исходных данных
.2 Описание окна работы с графиком
Заключение
Приложение
Введение
Для сокращения времени расчетов температурных полей для тел с распределенными и сосредоточенными источниками энергии необходимо спроектировать три программных продукта для следующих условий:
параллелепипед с равномерно распределенным источником тепла; граничные условия первого рода;
параллелепипед с равномерно распределенным источником тепла, грани которого находятся в состоянии теплообмена со средой;
параллелепипед с источниками тепла, равномерно распределенными на двух противоположных гранях.
Это также необходимо для ознакомления с законами
распределения тепла в данных телах и получения практических навыков для
теплофизического проектирования модулей РЭС.
1. Математические модели для расчета тепловых
коэффициентов для тел с распределенными и сосредоточенными источниками энергии
.1 Параллелепипед с равномерно распределенным
источником тепла; граничные условия первого рода
В анизотропном параллелепипеде, размеры которого 21Х, 21у, 2/z, а коэффициенты теплопроводности в направлениях осей х, у, z равны Кх, Ку, Кг, равномерно распределен источник тепла с удельной мощностью W (рис. 1). На всех шести гранях параллелепипеда температура одинакова и равна ts.
Теплообмен со средой (температура среды tс)
происходит по закону Ньютона, средний коэффициент теплообмена равен ее. Если
температуры граней тела одинаковы, то а связан с коэффициентами теплообмена аx,
ау, аz
на гранях х = ± 1Х, у = ± 1у и z
= ± lz
зависимостью
(1)
где Sx, Sy, Sz - площади поверхностей граней.
Известно, что если выполняются следующие
условия: а) тело имеет различные коэффициенты теплопроводности Кх, Ку
Кz
в трех взаимно перпендикулярных направлениях, принятых за оси х, у, z;
б) тело вообще не ограничено, либо ограничено плоскостями, перпендикулярными
осям х, у, z, то уравнение
теплопроводности, для такого класса анизотропных тел имеет вид
(2)
где W - объемная плотность источников тепла.
Так как на всех шести гранях параллелепипеда температура по условию задачи постоянна, то удобно в дальнейшем отсчитывать температуру от значения ts, т. е. рассматривать разность температур (t - ts). Тогда условия на гранях примут вид представленный в уравнение (3).
Итак, введением разности (t - ts) вместо t удалось для поставленной задачи граничные условия третьего рода свести к условиям первого рода, что существенно упростило задачу.
Средняя поверхностная температура
параллелепипеда
(3)
Рисунок 1. - Параллелепипед с внутренним
источником тепла.
Нетрудно заметить, что 21Х, 21у, 2/z равны соответственно 211, 212, 2/3 .
Если координатные оси расположены так, как
указано на рис. 1, то на границах параллелепипеда справедливы условия:
(4)
Решение системы уравнений (2) - (4) методом Г.
А. Гринберга приводит к следующему выражению для температурного поля
параллелепипеда.
(5)
где
(6)
Нетрудно видеть, что при х = у = z
= 0 и x = 2/х,
у = 2/2, z = 2/3
выражение (5) равно нулю, как это и следовало ожидать. Найдем температуру в
центре параллелепипеда:
(7)
(8)
.2 Параллелепипед с равномерно распределенным
источником тепла, грани которого находятся в состоянии теплообмена со средой
Температурное поле такого параллелепипеда (рисунок 2) также описывается уравнением (2).
Рис. 2. Параллелепипед с равномерно
распределенным источником энергии.
Граничные условия запишем для случая попарно
симметричных условий теплообмена на противоположных гранях:
(9)
Приближенное решение системы уравнений (2) и (9)
имеет вид:
(10)
где
(11)
Формулы (10), (11) в отличие от (5), (6) позволяют найти температурное поле во всех точках параллелепипеда, в том числе и на его гранях, при любых значениях коэффициентов теплообмена.
Значения тепловых коэффициентов Fjc
для любой точки j из формулы
средней поверхностной температуры параллелепипеда равны:
(12)
что позволяет из формул (5), (6), (10), (11)
найти выражения для тепловых коэффициентов.
1.3 Параллелепипед с источниками тепла,
равномерно распределенными на двух противоположных гранях
Рассматривается, как и в предыдущей задаче анизотропный параллелепипед с источниками тепла, равномерно распределенными по поверхностям граней у = ± 1у.
Математическая формулировка задачи:
где qy - удельная мощность поверхностного источника энергии.
Приближенное решение задачи можно представить в
виде:
(14)
(15)
Значения еy, ez, Bx, By, Bz определяются соотношениями (11).
программа параллелепипед теплообмен
грань
2. Алгоритмы вычислений
.1 Параллелепипед с равномерно распределенным
источником тепла; граничные условия первого рода
Для решения этой задачи необходимо выразить t(x,y,z) из формулы (5).
Геометрические размеры исследуемого
параллелепипеда (рис. 1) нам известны. Удельная мощность источника тепла равна
W. Коэффициент теплопроводности материала λ и
коэффициент теплоотдачи поверхности тела α нам
известны. Для вычисления средней поверхностной температуры ts
воспользуемся формулой (3).
.2 Параллелепипед с равномерно распределенным
источником тепла, грани которого находятся в состоянии теплообмена со средой
Для решения второй задачи необходимо
воспользоваться формулой (10) выразив из нее t(x,y,z). Неизвестные значения
находим из системы (11). Геометрические размеры исследуемого параллелепипеда
(рис. 2) нам известны. Удельная мощность источника тепла равна W. Коэффициент
теплопроводности материала λ и
коэффициент теплоотдачи поверхности тела α вдоль
осей x, y, z
нам известны. Для вычисления средней поверхностной температуры ts
воспользуемся формулой (3).
.3 Параллелепипед с источниками тепла,
равномерно распределенными на двух противоположных гранях
В этой задаче исследуем параллелепипед (рис. 2)
с источником тепла, равномерно распределенным по поверхностям граней вдоль оси
y. Для решения этой задачи воспользуемся формулой (14). Все неизвестные
значения находим из систем (15) и (11). Геометрические размеры исследуемого
параллелепипеда нам известны. Мощность поверхностного источника тепла равна q.
Коэффициент теплопроводности материала λ и
коэффициент теплоотдачи поверхности тела α вдоль
осей x, y, z
нам известны. Для вычисления средней поверхностной температуры ts
воспользуемся формулой (3).
3. Структура и описание программ
Расчет значений производился в соответствии с п.п. 2.1, 2.2, 2.3. Листинг программ представлен в приложениях. Приложение 1 - Листинг основного окна ввода данных программы п. 2.1. Приложение 2 - Листинг основного окна ввода данных программы п. 2.2. Приложение 3 - Листинг основного окна ввода данных программы п. 2.3. Приложение 4 - Листинг программы работы с графиком и курсором. Для решения этих задач применили стандартные функции и операторы языка программирования Object Pascal.
Для предотвращения ввода не корректных данных в окна текстовых полей (Edit) воспользовались рядом условий и ограничений, поэтому в поля нельзя вводить ничего кроме чисел и знака ' , ' для написания дробных величин, а также знака ' - ' для отрицательных чисел, это было осуществлено с помощью процедуры «KeyPress» на текстовые поля Edit. Основные вычисления по необходимым формулам производятся при нажатии на кнопки «Температура поля в точке с координатами x, y, z», «График зависимости t от x», «График зависимости t от y» и «График зависимости t от z», также при нажатии трех последних кнопок вызываются процедуры BeginPlot, AddPoint, необходимые для построения графика зависимости. Одновременно при нажатии на кнопки проверяется заполнены ли все поля и не выходят ли координаты исследуемых точек за пределы параллелепипеда. Если данные ошибки имеют место, то программно предлагается устранить их и вычисления не производятся. Эти подходы сводят к минимуму возникновение различных ошибок в ходе работы программы.
Подробнее рассмотрим работу модуля работы с графиками, это наиболее сложный и объемный раздел. Основные процедуры модуля BeginPlot, AddPoint, NullPoint, они обеспечивают занесение точек в график.
Процедура BeginPlot подготавливает рисование нового графика, уничтожая информацию о прежнем графике. Сначала серия Seriesl очищается методом Clear от данных прежнего графика. Затем функцией SetLength обнуляется массив ABad, содержащий информацию об областях недопустимых значений прежнего графика. Сбрасывается в false глобальная переменная Bad, которая, как это будет видно далее, показывает, является ли предыдущая точка графика недопустимой. Значение false соответствует тому, что предыдущая точка допустимая. Последний оператор процедуры восстанавливает методом UndoZoom масштаб, если он был изменен пользователем при работе с предыдущим графиком.
Процедура AddPoint добавляет в график новую точку цвета Color с координатами X и Y. Но прежде, чем добавлять точку, проверяется, является ли Y конечным численным значением. Для этого проверяется, не равно ли значение Y, переведенное в строку, "NAN", "-NAN", "INF" или "-INF". Это значения, которые могут возвращать функции Delphi. Если Y не числовая или бесконечная величина, то вызывается рассмотренная далее процедура NullPoint, формирующая область недопустимых значений. А если Y - нормальное число, то точка заносится в серию Series1 методом AddXY и Bad устанавливается в false, сигнализируя, что точка допустимая.
Обращение к процедуре NullPoint происходит, если при аргументе X не удалось вычислить функцию. Тогда дальнейшие действия зависят от значения переменной Bad. Если Bad = false (предыдущая точка была допустимой), то размер массива ABad увеличивается на 2 и значение X записывается в него дважды - как начальная и конечная точка новой области недопустимых значений. А если Bad = true (предыдущая точка тоже была недопустимой), то значение X записывается в конец массива ABad как конечная точка текущей области недопустимых значений. В конце процедуры Bad устанавливается true, свидетельствуя о том, что текущая точка недопустимая.
Теперь рассмотрим организацию работы с курсорами графика. Отметим, что в модуле введены глобальные переменные IndCursl и IndCurs2, хранящие индексы точек в массиве отображаемых данных, соответствующие координатам первого и второго курсора графика. Кроме того введена глобальная переменная HCursor, хранящая текущий шаг сдвига курсора.
Процедура ACursMouseExecute переключает режим отображения координат курсора мыши. Она срабатывает при выборе пользователем команды меню Курсор | Курсор мыши. Первый оператор этой процедуры переключает действие ACursMouse, а вместе с ним и соответствующий раздел меню, между включенным и не включенным значениями. Если действие включилось, то делается видимым окно отображения координат курсора FCoord и свойство Cursor объекта Seriesl задается равным crCross. Последнее означает, что когда курсор мыши будет проходить над кривой графика, он будет изменять свой обычный вид - стрелку на крест. Тем самым можно будет знать, когда координаты курсора точно совпадают с координатами графика.
Если действие ACursMouse выключилось, то курсору возвращается его значение по умолчанию. Далее проверяется, включен ли режим курсоров графика. Если нет, то форма FCoord делается невидимой. Если же режим курсоров графика включен, то в окне FCoord стираются координаты курсора мыши.
Теперь рассмотрим процедуру ChartlMouseMove - обработчик событий OnMouseMove, происходящих при перемещении курсора над компонентом Chart. Если режим отображения координат курсора мыши включен (это проверяется по значению свойства Seriesl.Cursor), то требуется отображать координаты курсора в окне FCoord. Для этого методом GetCursorValues определяются координаты курсора в системе координат графика: XData и YData. А затем эти координаты отображаются в соответствующих метках окна формы FCoord.
Включение и выключение курсоров графиков осуществляется процедурой ACursorsExecute. Первый оператор этой процедуры включает или выключает курсоры графика. Если в результате курсоры включаются, то пиктограмма, отображаемая в соответствующем разделе меню и на соответствующей быстрой кнопке, изменяется с '+' на '-'. Индексы IndCursl и IndCurs2 сбрасываются на нуль, т.е. курсоры устанавливаются на первую точку графика. Затем следует вызов процедуры SetCursor, определяющей координаты курсоров и рисующей курсоры. После этого вызывается процедура WriteYalue, которая отображает в окне FCoord координаты курсоров. Если в результате выполнения первого оператора процедуры ACursorsExecute курсоры графика выключились, то пиктограмма, отображаемая в соответствующем разделе меню и на соответствующей быстрой кнопке, изменяется с '-' на '+'. Далее, если режим курсора мыши не включен, форма FCoord делается невидимой. Если же режим курсора мыши включен, то в окне координат стираются значения, относящиеся к координатам графика.
Теперь рассмотрим вспомогательную процедуру SetCursor, которая вызывается, в частности, из процедуры ACursorsExecute и из ряда других процедур. Назначение этой процедуры - определить координаты курсоров графика и нарисовать (или стереть) их изображение на экране.