Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
закутнева_диплом_черновик.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
524.52 Кб
Скачать

4 Теоретические вопросы оптимизации 2d расчетных сеток с использованием оптимизАтора Mesquite

4.1 Основные принципы оптимизации с использованием оптимизатора Mesquite

Оптимизатор Mesquite был разработан в Соединенных Штатах Америки. В состав его разработчиков вошли представители Sandia National Laboratories (SNL), Lawrence Livermore National Laboratory (LLNL), and the University of Wisconsin–Madison (UW).

Оптимизатор Mesquite предназначен для автономного, портативного и полного алгоритма по оптимизации расчетной сетки.

Mesquite обеспечивает надежный и эффективный инструментарий для оптимизации расчетных сеток, оптимизирует точность сетки, основываясь на ее моделировании через оптимизацию координат вершины сетки.

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

В используемой версии оптимизатора применяется функция усовершенствования формы (The Shape-Improvement Wrapper). Данная функция стремится к улучшению формы элементов сетки, основанной на идеальной форме, которая определяется типом элемента. Например, у треугольных элементов, как предполагается, есть идеальная форма, которая соответствует равностороннему треугольнику, четырехугольная форма – квадрату, четырехгранная – равностороннему четырехграннику, гексаэдрическая форма – кубу[9].

4.2 Создание динамической библиотеки Mesquite в среде Microsoft Visual Studio 2008

4.2.1 Создание динамической библиотеки Mesquite

Для обеспечения работы функций предложенного оптимизатора, создана динамически подключаемая библиотека.

DLL-модуль – это файл на диске, который состоит из глобальных данных, откомпилированных функций и ресурсов. Он компилируется так, чтобы его можно было загружать по определенному базовому адресу. В DLL содержатся так называемые экспортируемые (exported) функции, которые импортирует (import) программа, загружающая DLL.

Для создания динамической библиотеки в среде Visual Studio 2008 выполнена последовательность действий, перечисленная далее.

Создан проект для сборки библиотеки “Mesquite.sln”. Для обеспечения работы функций оптимизатора к проекту были прикреплены все прилагающиеся к оптимизатору заголовочные (Header Files) и программные (Source Files) файлы.

В окне Properties прописаны следующие настройки проекта:

  • в основных настройках проекта выбран тип конфигурации Dynamic Library (.dll);

  • в основных настройках языка указана входная директория, в которой собраны все заголовочные файлы, прилагающиеся к оптимизатору Mesquite;

  • в пункте Выходной файл указан адрес для сохранения создаваемой динамической библиотеки;

  • для сборки библиотеки Mesquite была запущена команда BUILD.

В результате сборки проекта были созданы библиотеки Mesquite с расширениями *.lib и *.dll.

4.2.2 Создание и запуск тестового проекта по оптимизации расчетных сеток

Было проведено апробирование собранных в п. 4.2.1 библиотек оптимизатора Mesquite. Апробирование включало в себя создание тестового проекта, в котором проводилась оптимизация 2D расчетной сетки.

При написании тестового проекта использован язык С++. Тип конфигурации проекта – Application (.exe). Входными данными установлена библиотека mesquite.lib.

Для удобства программирования Mesquite предоставляет файл заголовка include/Mesquite_all_headers.hpp, который включает в себя все заголовки данного оптимизатора.

В проекте использован класс MsqError для связи ошибки с приложением.

Следующий шаг создания тестового проекта заключен в загрузке тестируемой сетки. Оптимизатор Mesquite работает с сетками, которые распределены в неструктурированном формате VTK. Этот формат выбран благодаря его читаемости и простоте использования.

Для задания имени сетки использован класс Mesquite::MeshImpl. Оптимизатор обеспечивает не только чтение сетки из файла, но и запись оптимизированной сетки в файл формата VTK.

Для обеспечения работы оптимизатора необходимо сдвинуть плоскость xy на определенное количество единиц в направлении z при помощи функции PlanarDomain.

Самым простым способом оптимизации расчетных сеток является использование функций оптимизатора. В тестовом проекте использована функция ShapeImprovement.

Текстовый код тестового проекта представлен в приложении А.

Оптимизатор Mesquite работает с фалами формата VTK. Для просмотра результатов оптимизации, использована программа SALOME.

На рисунке 4.1 представлена сетка до оптимизации и оптимизированная сетка.

Рисунок 4.1 – результаты работы тестового проекта по оптимизации расчетных сеток