Учебное пособие 1035
.pdfФГБОУ ВО "Воронежский государственный технический университет"
Кафедра высшей математики и физико-математического моделирования
ВОЗМОЖНОСТИ МУЛЬТИФИЗИЧЕСКИХ СИСТЕМ
КОНЕЧНО-ЭЛЕМЕНТНОГО АНАЛИЗА
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к самостоятельной работе по курсам «Математическое моделирование» и «Математическое моделирование в технической физике» для студентов направлений подготовки магистров 27.04.01 «Стандартизация и метрология» и 16.04.01 «Техническая физика» очной формы обучения
Воронеж 2016
Составители: аспирант А.А. Кудряш, канд. физ.-мат. наук Г.Е. Шунин.
УДК 004.94:519.63
Возможности мультифизических систем конечноэлементного анализа: методические указания к самостоятельной работе по курсам «Математическое моделирование» и «Математическое моделирование в технической физике» для студентов направлений подготовки магистров 27.04.01 «Стандартизация и метрология» и 16.04.01 «Техническая физика» очной формы обучения/ ФГБОУ ВО "Воронежский государственный технический университет"; сост. А.А. Кудряш, Г.Е. Шунин. Воронеж, 2016. 43 с.
В методических указаниях рассмотрены функциональные возможности и ограничения систем мультифизического конеч- но-элементного анализа. Наибольшее внимание уделяется системе COMSOL Multiphysics.
Издание соответствует требованиям Федерального государственного образовательного стандарта высшего образования по направлениям подготовки магистров 27.04.01 «Стандартизация и метрология», 16.04.01 «Техническая физика», дисциплинам «Математическое моделирование» и «Математическое моделирование в технической физике».
Методические указания подготовлены в электронном виде в текстовом редакторе Word и содержатся в файле ВМФСКЭА.pdf.
Библиогр.: 26 назв.
Рецензент канд. физ.-мат. наук, доц. В.В. Пешков. Ответственный за выпуск зав. кафедрой д-р физ.-мат.
наук, проф. И.Л. Батаронов Издается по решению редакционно-издательского совета
Воронежского государственного технического университетаФГБОУ ВО "Воронежский государственный
технический университет", 2016
ВВЕДЕНИЕ
Общую разработку и компьютерное моделирование фи- зико-технических объектов целесообразно проводить с помощью полномасштабных PAL-систем машиностроительного профиля таких, как Pro/Engineer (Creo) [1], CATIA [2] и NXUnigraphics [3], осуществляющих компьютерную поддержку полного цикла разработки и производства изделия. Это интегрированные системы с интуитивно понятным пользовательским интерфейсом, встроенным макроязыком и библиотеками функций, с возможностью подключения внешних модулей, расширяющих их функциональные возможности. Трѐхмерное моделирование происходит на уровне твѐрдотельных моделей с использованием конструкторско-технологических библиотек, средств визуализации и анимации результатов инженерного анализа. Этот анализ осуществляется собственными конечноэлементными модулями или через прямой интерфейс с универ-
сальными CAE-системами ANSYS [4], NISA [5], Cosmos/M [6], Elcut [18] и др. (см. обзор [25]). Следует отметить, что эти системы основываются на стандартных физико-математических моделях электромагнетизма, теплогазогидродинамики и механики сплошной среды. Для более углублѐнного моделирования физических процессов перспективно использовать наиболее мощную систему конечно-элементного мультифизического анализа COMSOL Multiphysics [7], конечно-элементный комплекс программ FlexPDE [8] и конечно-элементную библиотеку программ Diffpack [9]. Разработку узкоспециализированных дополнительных модулей инженерного анализа к PAL системам можно осуществлять такжже на основе свободно распространяемых открытых конечно-элементных пакетов программ
FreeFEM++ [10], Elmer [11], FEMPDESolver [12-17] и др. (см.
обзор [26]) с использованием возможностей универсальных систем компьютерной математики Maple [20], Mathematica [21], Matlab [22], Maxima [23] и Scilab [24].
Универсальная система компьютерной математики
MATLAB
(MATrix LABoratory)– это высокоуровневый язык и интерактивная среда для численных расчѐтов, визуализации и программирования. Выпускается американской компанией The MathWorks. Посредством MATLAB пользователь может анализировать данные, разрабатывать алгоритмы, создавать модели и приложения. Язык, средства и встроенные математические функции дают пользователю возможность быстрее решать задачи по сравнению с традиционными языками программирования, такими, как C/C++ или Java. MATLAB позволяет решать широкий спектр задач в различных областях науки и техники.
MATLAB обладает широкими возможностями в области методов числовых расчѐтов для анализа данных, разработки алгоритмов и создания моделей (интерполяция и регрессия, дифференцирование и интегрирование, линейные системы уравнений, гармонический анализ, собственные и сингулярные значения, обыкновенные дифференциальные уравнения, разреженные матрицы). Функции, содержащиеся в ядре MATLAB, позволяют быстро выполнять матричные и векторные вычисления.
Кроме этого, в MATLAB имеются средства работы с данными (получение, анализ, визуализация), позволяющие тратить на операции с данными намного меньше времени, чем при аналогичных операциях при использовании традиционных языков программирования. MATLAB позволяет получать данные из файлов, приложений, баз данных, а также внешних приборов. Файлы, доступные для чтения, могут быть разных форматов: Excel-файлы, текстовые или бинарные файлы, изображения, звуковые или видеофайлы. Средства для анализа данных представляют собой функции для фильтрации, сглаживания, интерполяции, свѐртки и быстрого преобразования Фурье. Визуализация данных осуществляется путѐм встроенных
2
2D и 3D графиков функций, а также функций для объѐмной визуализации. Также, есть возможность создания отчѐтов после выполнения программы. Отчѐт включает в себя программный код, комментарии и результаты работы программы, включая графики. Отчѐты могут быть преобразованы в различные форматы, такие как HTML, PDF, Word или LaTeX.
Приложения, написанные на языке MATLAB, можно соединять с приложениями, написанными на других языках. Так, пользуясь MATLAB, можно вызвать код, написанный на C, C++, Java или .NET, или, наоборот, при создании C, C++ или Fortran-приложений можно вызвать код, написанный на
MATLAB.
Помимо операций, содержащихся в ядре MATLAB, существуют наборы инструментов, предназначенные для решения специализированных задач и значительно расширяющие возможности MATLAB. По области применения их можно классифицировать следующим образом:
Параллельные вычисления (Parallel Computing Toolbox, MATLAB Distributed Computing Server);
Математика, статистика и оптимизация (Symbolic Math Toolbox, Partial Differential Equation Toolbox, Statistics and Machine Learning Toolbox, Curve Fitting Toolbox, Optimization Toolbox, Global Optimization Toolbox, Neural Network Toolbox, Model-Based Calibration Toolbox);
Системы управления (Control System Toolbox, System Identification Toolbox, Fuzzy Logic Toolbox, Robust Control Toolbox, Model Predictive Control Toolbox, Aerospace Toolbox, Robotics System Toolbox);
Обработка сигналов и связь (Signal Processing Toolbox, DSP System Toolbox, Communication System Toolbox, Wavelet Toolbox, RF Toolbox, Antenna Toolbox, Phased Array System Toolbox, LTE System Toolbox);
Обработка изображений и машинное зрение (Data Acquisition Toolbox, Instrument Control Toolbox, Image Acquisition Toolbox, OPC Toolbox, Vehicle Network Toolbox);
3
Финансовая инженерия (Financial Toolbox, Econometrics Toolbox, Datafeed Toolbox, Database Toolbox, Spreadsheet Link EX (для Microsoft Excel), Financial Instrument Toolbox, Trading Toolbox);
Вычислительная биология (Bioinformatics Toolbox, SimBiology);
Средства для генерации и проверки кода (MATLAB Coder, HDL Coder, Vision HDL Toolbox, HDL Verifier, Filter Design HDL Coder, Fixed-Point Designer);
Средства для разработки приложений (MATLAB Compiler, MATLAB Compiler SDK, Spreadsheet Link EX (для Microsoft Excel), MATLAB Production Server);
Подключение к базам данных и составление отчѐтов
(Database Toolbox, MATLAB Report Generator).
Отдельно стоит отметить PDE Toolbox – набор инструментов, позволяющий решать дифференциальные уравнения методом конечных элементов в 2D и 3D случаях.
Ключевые особенности:
Решатели для связанных систем дифференциальных уравнений в частных производных: стационарные, нестационарные задачи, частотный анализ, решение задач на собственные значения;
Задание дифференциальных уравнений в частных производных для эллиптических, гиперболических и параболических задач;
Задание граничных условий: Дирихле, обобщѐнное условие Неймана, смешанное условие;
Функции для создания 2D-геометрии и импорта 3Dгеометрии из STL-файлов;
Автоматическое разбиение с использованием треугольников и тетраэдров;
Одновременное изображение нескольких графиков решения, наложение сетки, анимация.
4
Рабочее окно и процесс работы в PDE Toolbox.
Рабочий процесс в PDE Toolboxсостоит из определения геометрии, задания уравнения или системы уравнений, описывающих задачу, граничных и начальных условий, построения сетки, решения уравнений и визуализации результатов. Для каждого из шагов в PDE Toolbox имеются соответствующие встроенные функции. PDE Toolbox позволяет решать задачи в области строительной механики, электростатики, переменного электромагнитного поля, электрического поля постоянного тока в проводящей среде, теплопереноса и диффузии, а также других прикладных областях.
Для 2D-задач можно воспользоваться рабочим окном. Оно обладает интерфейсом для задания геометрии и выбора одного из существующих прикладных режимов. При работе в рабочем окне можно в любой момент воспользоваться экспортом данных в рабочее пространство MATLAB, после чего продолжить работу вне рабочего окна.
Возможные типы уравнений.
При помощи PDE Toolbox можно задавать и решать различные типы уравнений в частных производных: эллиптические, параболические, гиперболические. Системы дифференциальных уравнений в частных производных могут быть линейными или нелинейными и могут иметь вещественнозначные или комплекснозначные решения.
Эллиптические уравнения:
− ∙ + =
Где - оператор градиента в ограниченной расчѐтной области задачи (2D или 3D), – скаляр или вектор решения задачи. Пользователь задаѐт коэффициенты , , , которые в общем случае могут быть функциями решения, его пространственных производных, а также пространственных координат.
Параболические уравнения:
− ∙ + =
Гиперболические уравнения:
5
22 − ∙ + =
Задачи на собственные значения:
− ∙ + =
Коэффициент в параболических и гиперболических уравнениях может зависеть от решения и пространственных координат. В случае нестационарной задачи все коэффициенты могут зависеть ещѐ и от времени.
Задание геометрии.
В случае 3D-геометрии PDE Toolbox может работать с многогранными объектами. Геометрия задаѐтся путѐм импорта из STL-файла в MATLAB. Формат STL является стандартным форматом для импорта 3D-геометрий из CAD-систем.
Для 2D-задач задание геометрии осуществляется при помощи комбинации нескольких геометрических примитивов
(Constructive Solid Geometry) или при помощи геометрических функций. При первом подходе с помощью комбинации примитивов (квадратов, прямоугольников, кругов, эллипсов, многоугольников) может быть создана сложная геометрия. Такой подход используется при работе через рабочее окно. Второй подход заключается в описании кривых, совокупность которых является границей исследуемой 2D-области.
Граничные условия.
PDE Toolbox позволяет задавать граничные условия Дирихле и обобщѐнные граничные условия Неймана на границе исследуемой области путѐм задания соответствующих коэффициентов.
Дирихле:
=
Обобщённое условие Неймана:
∙ + =
Для каждого граничного условия - внешняя единичная нормаль, - скаляр или вектор-решение, - коэффициент, заданный при определении уравнений, а коэффициенты , , , могут зависеть от решения, а также координат нормали. Для
6
нестационарных задач коэффициенты также могут зависеть от времени. Для систем дифференциальных уравнений поддерживаются условие Дирихле, обобщѐнное условие Неймана и смешанное условие.
Разбиение и решение.
Для решения уравнений PDE Toolbox использует метод конечных элементов. Область разбивается в автоматическом режиме путѐм управления параметром сетки.
В3D-задачах область разбивается на тетраэдры. Существует возможность выбора порядка базисных функций (линейные или квадратичные).
В2D-задачах для разбиения области используются треугольные элементы с линейными базисными функциями.
Для 2D-эллиптических и нелинейных эллиптических задач используется алгоритм адаптивного измельчения сетки для измельчения сетки в тех местах, где ошибка решения оказывается слишком большой.
Для параболических и гиперболических задач можно задать условия в начальный момент времени и исследовать решение в любой момент времени. Для гиперболических задач можно задать член, отвечающий за затухание.
Решатель задач на собственные значения возвращает собственные значения и собственные вектора. Пользователь может задать интервал для поиска собственных значений на этом интервале.
Визуализация решение и постпроцессорная обработ-
ка.
PDE Toolbox позволяет визуализировать решение путѐм создания поверхностных рисунков, таких как контурные рисунки или пользовательские рисунки, такие как распределение исследуемой величины в секущих плоскостях.
Поверхностные рисунки.
PDE Toolbox позволяет показывать распределение исследуемой величины по поверхности области в 3D.
Графики для нестационарных задач.
7
Имеются средства для визуализации изменения исследуемых величин во времени.
Пользовательские графики.
При помощи средств кода можно создавать свои собственные рисунки.
В 2D-случае для визуализации результатов можно воспользоваться средствами, имеющимися в рабочем окне для построения поверхностных и контурных графиков, а также визуализации сетки. Для параболических и гиперболических типов задач возможно создание анимации, показывающей, как меняется решение во времени.
Кроме того, при помощи средств PDE Toolbox можно получить значение решения в любой точке области.
Отдельно стоит отметить Simulink – продукт, представляющий собой интерактивную графическую среду для имитационного моделирования и проектирования на основе моделей. Поддерживает операции проектирования на системном уровне, моделирования, автоматической генерации кода и непрерывного тестирования и проверки встроенных систем. Simulink состоит из графического редактора, настраиваемых библиотек блоков, и решателей для моделирования и имитации динамических систем. Simulink полностью интегрирован с MATLAB, что позволяет включать алгоритмы MATLAB в Simulinkмодели и наоборот, экспортировать результаты, полученные в Simulink, в MATLAB для дальнейшего анализа. Ниже кратко приведены основные особенности Simulink:
Графический редактор для построения и управления иерархическими блок-диаграммами;
Библиотеки готовых блоков для моделирования непрерывных и дискретных по времени систем;
Механизм имитации на основе решателей обыкновенных дифференциальных уравнений с фиксированным и переменным шагом;
8