- •РЕФЕРАТ
- •Записка к выпускной квалификационной работе изложена на 107 стр. машинописного текста, состоит из 3 разделов и включает 24 рисунка.
- •СОДЕРЖАНИЕ
- •ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
- •ВВЕДЕНИЕ
- •1 Анализ задачи создания пользовательского интерфейса для OpenFOAM
- •1.1 Взаимодействие пользователя с OpenFOAM в процессе моделирования задачи
- •1.1.1 Предпроцессинг
- •1.1.2 Решение задачи и пост-процессинг
- •1.2 Основные требования к пользовательскому интерфейсу OpenFOAM
- •1.3 Функционал пользовательского интерфейса OpenFOAM
- •2 Определение средств для реализации пользовательского интерфейса OpenFOAM
- •2.1 Выбор операционной системы
- •2.2 Выбор языка программирования
- •2.3 Выбор IDE
- •3 Разработка пользовательского интерфейса для OpenFOAM
- •3.1 Структура приложения-интерфейса для OpenFOAM
- •3.2 Разработка классов объектов, хранящих информацию из файлов кейса OpenFOAM
- •3.2.1 Формат файлов кейсов OpenFOAM
- •3.2.2 Разработка абстрактного базового класса Dict
- •3.2.3 Разработка класса ControlDict
- •3.2.4 Разработка класса BlockMeshDict
- •3.2.5 Разработка класса Boundary
- •3.2.6 Разработка класса Field
- •3.2.7 Разработка класса Constant
- •3.2.8 Разработка класса SetFieldsDict
- •3.3 Разработка графического пользовательского интерфейса приложения
- •3.3.1 Внешний вид приложения
- •3.3.2 Вкладка «control»
- •3.3.2 Вкладка «blockMesh»
- •3.3.3 Вкладка «boundary»
- •3.3.4 Вкладка «Поля»
- •3.3.5 Вкладка «setFields»
- •3.3.6 Вкладка «Константы»
- •3.3.7 Вкладки «fvSolution» и «fvSchemes»
- •3.3.8 Вкладка «Запуск»
- •Заключение
- •СПИСОК ЛИТЕРАТУРЫ
- •ПРИЛОЖЕНИЕ А
- •Листинги ключевых частей программы
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
“Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” им. В.И. Ульянова (Ленина)” (СПбГЭТУ)
Направление: информатика и вычислительная техника
Кафедра Вычислительной Техники |
|
К защите допустить: |
|
Руководитель направления |
|
зав. кафедрой ВТ |
|
д.т.н., проф. |
Д.В. Пузанков |
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
Тема: «Пользовательский интерфейс программы расчета динамики сплошных сред»
Студент
Руководитель д.ф.-м.н., проф. Зав.кафедрой д.т.н., проф. Консультант по оформлению к.т.н., доц.
/ О.В. Андриянов |
/ |
/ А.В. Богданов |
/ |
/ Д.В. Пузанков |
/ |
/ И.С. Зуев |
/ |
Санкт-Петербург 2012 г.
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
“Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” им. В.И. Ульянова (Ленина)” (СПбГЭТУ)
|
|
|
УТВЕРЖДАЮ |
Факультет |
КТИ |
|
Руководитель |
|
|
|
направления |
Кафедра |
ВТ |
/ |
/ |
|
|
«_____» ______________ 201__г. |
ЗАДАНИЕ
на выпускную квалификационную работу бакалавра
Студент Андриянов О.В. |
Группа № 8306 |
1. Тема выпускной квалификационной работы
Пользовательский интерфейс программы расчета динамики сплошных сред.
2.Объектом исследования является свободно распространяемая система расчета динамики сплошных сред OpenFOAM.
3.Целью работы является разработка графического пользовательского интерфейса для системы OpenFOAM, позволяющего задавать исходные данные для решения задач и запускать необходимую программу-решатель и программувизуализатор при помощи элементов графического интерфейса.
4.Исходные данные: система OpenFOAM 2.1.0 под ОС Ubuntu; руководство пользователя OpenFOAM.
5.Содержание работы
В ходе выполнения работы необходимо разработать приложение, предоставляющее пользователю интерфейс к системе OpenFOAM. Сделать выводы о проделанной работе.
2
6. Функциональные требования
–Разработанное приложение должно позволять пользователю задавать исходные данные для решения задачи, используя элементы графического интерфейса, избавляя пользователя от необходимости изучать синтаксис и структуру файлов, в которых хранятся исходные данные задач.
–Приложение должно позволять запускать программу-решатель для выбранной задачи и программу-визуализатор для отображения результатов решения.
–Приложение должно предоставлять пользователю возможность как редактировать исходные данные существующих задач, так и создавать новые задачи с нуля.
7.Результатом выполнения работы должен являться подробный материал
оразработке приложения вместе с кодом программы и выводы о функциональности этой системы.
8.Календарный план
Наименование работ
Анализ технического задания, изучение системы OpenFOAM Разработка классов объектов исходных данных, настроек решения задачи, парсеров файлов с исходными данными и настройками Разработка пользовательского
интерфейса для редактирования исходных данных и настроек решения задач Доработка программного кода.
Окончательное оформление дипломного проекта. Сдача проекта научному руководителю
Отметка о Неделя 1 Неделя 2 Неделя 3 Неделя 4 выполнении
3
9. Сроки разработки
Установлен 4-недельный срок разработки выпускной квалификационной работы, с 14 мая по 10 июня 2012 г. Подробный календарный план приведен в пункте 8 настоящего технического задания.
Заведующий кафедрой |
|
|
д.т.н., проф. |
/ Д.В. Пузанков |
/ |
Руководитель |
|
|
д.ф.-м.н, проф. |
/ А.В. Богданов |
/ |
Задание к исполнению принял |
/ О.В. Андриянов |
/ |
Консультант по оформлению |
|
|
к.т.н., доц. |
/ И.С. Зуев |
/ |
«_____» _________ 2012 г.
4
РЕФЕРАТ
OPENFOAM, РЕДАКТОР КЕЙСОВ, ГРАФИЧЕСКИЙ ИНТЕРФЕЙС, FVMВЫЧИСЛЕНИЯ, BLOCKMESH, SETFIELDS, PARAVIEW, ПРЕДПРОЦЕССИНГ
Записка к выпускной квалификационной работе изложена на 107 стр. машинописного текста, состоит из 3 разделов и включает 24 рисунка.
Объектом разработки является графический пользовательский интерфейс к системе расчета динамики сплошных сред OpenFOAM. Приведена краткая справка о правилах задания исходных данных для моделирования задач. Разработаны способы представления информации о задаче в удобном виде и элементы графического интерфейса для редактирования условий задачи. Разработанное приложение позволяет быстро редактировать кейсы OpenFOAM с помощью привычных пользователю элементов графического интерфейса и избавляет пользователя от необходимости изучения синтаксиса файлов OpenFOAM.
5
СОДЕРЖАНИЕ
Определения, обозначения и сокращения...................................................................... |
8 |
|
Введение........................................................................................................................... |
9 |
|
1 Анализ задачи создания пользовательского интерфейса для OpenFOAM............. |
12 |
|
1.1 |
Взаимодействие пользователя с OpenFOAM в процессе моделирования |
|
задачи..................................................................................................................... |
13 |
|
1.1.1 Предпроцессинг............................................................................................ |
13 |
|
1.1.2 Решение задачи и пост-процессинг............................................................. |
15 |
|
1.2 |
Основные требования к пользовательскому интерфейсу OpenFOAM........ |
16 |
1.3 |
Функционал пользовательского интерфейса OpenFOAM............................ |
18 |
2 Определение средств для реализации пользовательского интерфейса OpenFOAM
......................................................................................................................................... |
|
20 |
2.1 |
Выбор операционной системы....................................................................... |
20 |
2.2 |
Выбор языка программирования.................................................................... |
21 |
2.3 |
Выбор IDE........................................................................................................ |
21 |
3 Разработка пользовательского интерфейса для OpenFOAM ................................... |
24 |
|
3.1 |
Структура приложения-интерфейса для OpenFOAM................................... |
24 |
3.2 |
Разработка классов объектов, хранящих информацию из файлов кейса |
|
OpenFOAM ............................................................................................................. |
26 |
|
3.2.1 Формат файлов кейсов OpenFOAM ............................................................ |
26 |
|
3.2.2 Разработка абстрактного базового класса Dict ........................................... |
30 |
|
3.2.3 Разработка класса ControlDict ..................................................................... |
33 |
|
3.2.4 Разработка класса BlockMeshDict ............................................................... |
36 |
|
3.2.5 Разработка класса Boundary ......................................................................... |
42 |
|
3.2.6 Разработка класса Field ................................................................................ |
45 |
|
3.2.7 Разработка класса Constant .......................................................................... |
50 |
|
3.2.8 Разработка класса SetFieldsDict ................................................................... |
52 |
|
3.3 |
Разработка графического пользовательского интерфейса приложения...... |
55 |
3.3.1 Внешний вид приложения ........................................................................... |
56 |
|
3.3.2 Вкладка «control» .......................................................................................... |
58 |
|
3.3.2 Вкладка «blockMesh» ................................................................................... |
59 |
|
|
6 |
|
3.3.3 |
Вкладка «boundary»...................................................................................... |
66 |
3.3.4 |
Вкладка «Поля»............................................................................................ |
68 |
3.3.5 |
Вкладка «setFields»....................................................................................... |
70 |
3.3.6 |
Вкладка «Константы».................................................................................. |
73 |
3.3.7 |
Вкладки «fvSolution» и «fvSchemes».......................................................... |
75 |
3.3.8 Вкладка «Запуск»......................................................................................... |
77 |
|
Заключение..................................................................................................................... |
79 |
|
СПИСОК ЛИТЕРАТУРЫ............................................................................................. |
80 |
|
ПРИЛОЖЕНИЕ А. Листинги ключевых частей программы...................................... |
81 |
7
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
IDE (англ. Integrated development environment) — интегрированная среда разработки. Система программных средств, используемая программистами для разработки программного обеспечения.
ОС — операционная система.
GUI (англ. Graphical user interface) – графический интерфейс пользователя.
Кейс (англ. Case - случай) — в терминологии OpenFOAM — единичная задача, совокупность исходных данных и настроек в виде набора файлов, составляющих некоторую структуру и находящихся в рабочей директории кейса.
Патч (англ. Patch — лоскут, участок) — в терминологии OpenFOAM — часть или несколько частей поверхности, как правило, являющиеся границей расчетной области.
Поле — в контексте «поле OpenFOAM» - физический объект, может быть скалярным, векторным или тензорным; определен во всех ячейках расчетной сетки. Не путать с полем класса — переменной класса.
Утилита — компьютерная программа, расширяющая стандартные возможности оборудования и операционных систем, выполняющая узкий круг специфических задач.
Виджет — примитив графического интерфейса пользователи, имеющий стандартный внешний вид и выполняющий стандартные действия.
Словарь — файл, содержащий часть исходных данных и настроек OpenFOAM.
8