Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 2049

.pdf
Скачиваний:
24
Добавлен:
30.04.2022
Размер:
4.51 Mб
Скачать

Табличные графики (1D и в полярных координатах). Визуализация табличных данных.

В случае 2D и 3D графиков существуют следующие оп-

ции:

Стрелки на линиях (2D, 3D) – используются для визуализации векторной величины в виде стрелок на линиях (2D) и на линиях и краях (3D).

Стрелки на поверхностях (2D, 3D) – используются для визуализации векторной величины в виде стрелок на поверхностях.

Стрелки в объёме (3D) – используются для визуализации векторной величины в виде стрелок в объёме.

Контуры (2D,3D) – используются для изображения скалярных величин в виде цветных линий (контуров). На каждом из контуров исследуемая величина постоянна.

Построение систем координат (2D, 3D) для линейных, поверхностных и объёмных графиков.

Изоповерхность (3D) – изображение скалярной величины в виде цветных изоповерхностей – на каждой поверхности исследуемая величина постоянна.

Линейные графики (2D, 3D) – визуализация исследуемой величины на границах (2D) и краях (3D).

Построение максимальных и минимальных значений в объёме (3D), на поверхности или на линии (2D, 3D). Изображает точки, в которых достигается наибольшее и наименьшее значение указанной величины, вместе со значением этой величины и координатами этих точек. Эта же информация дублируется в таблице.

Сеточные графики (2D, 3D). Используется для визуализации разбиения. Существуют возможности изображения элементов разными цветами в зависимости от их качества. Также используется фильтр, позволяющий изображать часть разбиения в зависимости от качества элементов, их размера, типа или местоположения.

101

Графики траекторий частиц (2D, 3D). Используются при исследовании полей скоростей потока для визуализации траектории безмассовой частицы из потока.

Графики траекторий частиц, имеющих массу (2D, 3D)

Главные напряжения в объёме (3D) – изображает главные напряжения и главные деформации (собственные значения тензоров напряжения и деформации) вместе с соответствующими собственными векторами в модуле «Механика конструкций» в выбранных точках объёма.

Главные напряжения на поверхностях (2D, 3D) – аналогично предыдущей опции, только точки берутся на поверхностях.

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

Секущие плоскости (3D) – показывает поведение величины в виде теневых рисунков на одной или нескольких параллельных секущих плоскостях.

Линии тока (2D, 3D) – визуализация векторной величины в виде линии, так, что векторная величина в каждой точке направлена по касательной к этой линии.

Поверхностные графики (2D, 3D) – визуализация скалярной величины в виде цветного графика в области (2D) или на поверхности (3D) .

Объёмные графики (3D) – визуализация скалярной величины в виде теневого рисунка в 3D-области.

Кроме этого, в соответствии с потребностями пользователя существуют следующие атрибуты, позволяющие модифицировать графики: добавление цветов (позволяет делать цветными такие рисунки, как матрицы стрелок, линии тока, контуры, изоповерхности и траектории движения частиц), деформации (деформации графиков в соответствии с векторной величиной, например, полем смещений в модуле «Механика

102

конструкций»), фильтры (позволяет задавать логическое выражение в качестве критерия для отображения), добавление высоты (добавление третьей координаты в линейных и поверхностных 2D-рисунках для отображения значения исследуемой величины в каждой точке плоскости).

Третий блок операций – расчёт величин. Операции из этого блока позволяют рассчитывать максимальное, минимальное или среднее значение любой величины, интеграл от любой величины (что позволяет вычислять ряд важных интегральных характеристик, таких, как полный поток, заряд, индуктивность и т.д.), а также вычисление переменных в точках

ивычисление глобальных переменных. Все вычисленные величины автоматически сохраняются в таблицу. Результаты, полученные разными типами операций, сохраняются в разные таблицы (например, результаты, полученные нахождением минимума от величины, сохраняются в одной таблице, результаты, полученные путём интегрирования величины, - в другой

ит.д.). Можно также собственноручно задавать, в какую из таблиц сохранять результат.

Вчисло операций в этом блоке входят: нахождение средней величины (по объёму, по поверхности и на линии), нахождение максимума и минимума (в объёме, на поверхности

ина линии), интегрирование (по объёму, поверхности или линии), вычисление величины в точке и вычисление глобальной величины. Для операций нахождения максимума, минимума, среднего и интегрирования в случае нестационарного или параметрического решателя есть возможность нахождения среднего, максимума, минимума, интеграла, СКО, стандартного отклонения или дисперсии по времени или параметру от максимизированной, минимизированной, средней или интегральной величин (полученных соответствующим способом в объёме, на поверхности или на линии).

Последний блок операций – экспорт данных. Предоставляются возможности для экспорта следующих типов данных: экспорт анимации (позволяет экспортировать ряд из изобра-

103

жений, объединённых в группу), экспорт данных (сохранение числовых данных в текстовый файл), экспорт сетки, экспорт 1D, 2D, 3D графиков, экспорт интерактивной анимации, а также экспорт данных, на основании которых построены графики,

втекстовый файл.

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

Для расширения функционала в COMSOL Multiphysics существует ряд операторов:

– дифференциальные операторы – d(f,x) (производная функции f по переменной x), pd(f, x) (частная производная f по x), dtang(f, x) (касательная производная функции f по пространственной координате x на границе);

test – тестовый оператор, использующийся для слабой формулировки дифференциальных уравнений. Действие этого оператора на функцию равно сумме произведений действий оператора на каждую из переменных функции на производную функции по соответствующей переменной. Так, например, для

функции ( , ) будем иметь:

( , ) =

 

 

 

( , )

( ) +

 

 

 

+

 

( , )

( )

;

104

up, down, mean – операторы, определяющие значение выражения, являющегося аргументом оператора, во внешней, внутренней областях по отношению к границе, а также среднее значение выражения на границе соответственно;

depends, islinear – логический оператор, принимающая значение 1, если аргумент оператора зависит от переменнойрешения (зависит от переменной-решения линейно);

dest – оператор, предназначенный для создания интегральных связей; например, интегрирование выражения

u/((dest(x)–x)^2+(dest(y)–y)^2)

даёт функцию, зависящую от

x и y:

(

, ′)

 

( , ) =

′ ′;

( − ′) + ( − ′)

if(cond, expr1, expr2) – условный оператор, если условие cond верно, то оценивается выражение expr1, в противном случае – expr2;

with – оператор, позволяющий производить операции с решением для различных моментов времени, значений параметра и собственных значений в случае нестационарной, параметрической задачи и задачи на собственные значения соответственно;

at – позволяет получить решение в любой момент времени в случае нестационарной задачи;

reacf – оператор, предназначенный для расчёта интегралов сил реакции или потоков;

realdot(a, b) – произведение двух комплексных чисел

как векторов размерности 2 1;

prev(expr, i) – вычисление значения выражения expr на временном шаге, который находится в i шагах позади текущего временного шага;

bdf(expr, i) – разностная формула производной выражения expr по времени i-го порядка с использованием левой разности.

Важным достоинством COMSOL Multiphysics, начиная с версии 4.2, является возможность создания физического поль-

105

зовательского интерфейса. Эта процедура осуществляется при помощи конструктора, который представляет собой интерактивную программную среду для создания физических интерфейсов, не прибегая к написанию программного кода. Процесс создания нового физического интерфейса похож на создание новой модели с той лишь разницей, что результатом создания является не модель, а новый интерфейс. Конструктор интерфейса так же, как и конструктор моделей имеет форму дерева, с помощью которого можно добавлять один или несколько (для создания мультифизического интерфейса) физических интерфейсов. Внутри каждого из интерфейсов задаются зависимые и независимые переменные и их размерность, виды решаемых уравнений, виды граничных условий и т.д.

Обычно работа в COMSOL Multiphysics осуществляется

винтегрированной среде COMSOL Desktop, содержащей все описанные выше функции. Существуют, однако, альтернативные варианты получения доступа к функционалу COMSOL Multiphysics.

COMSOL Multiphysics клиент/сервер позволяет работать

врежиме клиент-сервер на разных компьютерах (для этого необходима FNL – плавающая сетевая лицензия), причём запуск клиента и сервера может осуществляться на разных информационных системах (например, клиент COMSOL Desktop может быть запущен на Windows, а сервер – на Linux или Mac);

Режим параллельных вычислений. COMSOL поддерживает 2 режима параллельных вычислений – режим параллельных вычислений с общей памятью, предназначенный для многоядерных процессоров, и режим параллельных вычислений с распределённой памятью (в том числе и кластерные вычисления для Windows-кластеров или Linux-кластеров). Для последнего необходимо наличие FNL;

Пакетный режим (COMSOL Batch) позволяет запускать COMSOL без использования графического пользовательского интерфейса;

106

– Прикладной программный интерфейс (COMSOL API) на основе Java используется для разработки приложений на основе функционала COMSOL. Java-файл-модель запускается посредством среды COMSOL Desktop или в пакетном режиме. Для разработки приложений с помощью COMSOL API нужно создать текстовый или графический пользовательский интерфейс и скомпилировать его в COMSOL при помощи соответствующих команд.

Помимо базового модуля COMSOL Multiphysics, существует множество специализированных модулей, направленных на решение задач в конкретных областях физики и техники. С каждой версией таких модулей становится всё больше. Так, в последней на данный момент версии COMSOL 5.3 (май 2017 г.) модули позволяют решать задачи в следующих областях науки:

Электротехника (электромагнитный модуль, радиочастотный модуль, волновая оптика, лучевая оптика, MEMS модуль, плазма, полупроводники);

Механика (теплоперенос, механика конструкций, нелинейная механика конструкций, геомеханика, усталость материалов, динамика многотельных систем, акустика, роторная динамика (впервые появился в версии COMSOL 5.2a, октябрь

2016 г.));

Гидродинамика (вычислительная гидродинамика, миксер, микрогидродинамика, течение в пористых средах, течение

втрубах, молекулярное течение);

Химия (проектирование химических реакций, аккумуляторы и топливные элементы, гальваностегия, коррозия, электрохимия).

Кроме того, в COMSOL 5.3 существуют многоцелевые модули трассировки частиц и оптимизации, а также библиотека материалов, содержащая более 2500 материалов с указанием их основных свойств. Помимо этого в COMSOL 5.3 имеются модули интеграции с MATLAB и Excel, модули интеграции с CAD-системами (SOLIDWORKS, Inventor, AutoCAD, Revit, PTC Creo Parametric, PTC Pro/ENGINEER и Solid Edge), моду-

107

ли импорта данных из CAD и ECAD и CATIA V5, а также модуль проектирования для создания параметрической геометрии и управления ей.

Основное отличие версий COMSOL Multiphysics, начиная с версии 5.0, от предыдущих – это появление среды разработки приложений, позволяющей создавать приложения на основе существующих моделей, созданных в построителе моделей. Для создания приложений в COMSOL Multiphysics предусмотрены два инструмента: Редактор форм и Редактор методов. Первый позволяет создавать приложение, имеющее специализированный пользовательский интерфейс с такими элементами, как поля ввода и числового вывода, элементы графики и кнопки. Готовое приложение позволит, меняя входные параметры, быстро получить результат, не обращаясь к исходной модели. С помощью Редактора методов можно создавать приложения, используя программный код, что позволяет осуществлять более сложные операции, чем те, которые доступны при использовании Редактора форм. Таким образом, Редактор методов представляет собой среду программирования, позволяющую работать с моделью на базе объектно-ориентирован- ного представления данных.

Ещё одной новинкой является программный продукт, COMSOL Server, который предназначен для запуска созданных приложений через веб-браузеры в различных операционных системах, либо, при установке клиента COMSOL Client for Windows, напрямую при подключении к COMSOL Server. Приложения, запускаемые через веб-браузер, поддерживают 1D, 2D и 3D интерактивную графику.

FlexPDE – программный комплекс, выпускаемый компанией PDE Solutions Inc, является скриптовой мультифизической конечно-элементной средой, позволяющий решать задачи в таких областях исследований, как теплоперенос, анализ напряжений, механика жидкостей, электромагнетизм, химические реакции, диффузия и т.д. Данные решаемой задачи в FlexPDE записываются в скрипт-файл.

108

Версии FlexPDE постоянно обновляются. Последней на настоящий момент является версия 7.05 (выпущена 14 июня 2017 года). Первая версия серии FlexPDE 7 вышла 1 января 2017 года. Версии серии FlexPDE 7 позволяют анализировать сложные конечно-элементные модели. Основными свойствами являются:

Решение систем дифференциальных уравнений первого

ивторого порядков в 1D, 2D, 3D декартовой геометрии, 1D сферической или цилиндрической геометрии или осесимметричной 2D геометрии;

Решение стационарной, или нестационарной системы уравнений, либо решение задачи на собственные значения. Стационарные и нестационарные уравнения могут быть объединены в единую задачу;

Одновременное решение любого количества уравнений, число которых ограничивается лишь возможностями компьютера;

Решение линейных и нелинейных уравнений. Для решения нелинейных уравнений FlexPDE автоматически использует модифицированный итерационный метод Ньютона-Рафсона;

Может быть определено любое число подобластей с различными материальными свойствами;

Переменные полагаются непрерывными вдоль границы раздела двух сред. Условия скачка производных следуют из системы дифференциальных уравнений.

Неограниченная сложность уравнений;

Произвольная лагранжева/эйлерова движущаяся сетка:

Возможность экспорта 3D-графиков;

Разбиение уравнений на множества, которые решаются поочерёдно;

Использование комплексных, векторных переменных и переменных-массивов, а также соответствующих уравнений;

Возможность объявлять переменные неактивными в выбранных областях;

109

Возможность многопоточного режима для многоядерных процессоров;

Возможность импорта сетки на поверхностях;

Оптимизатор параметра

Последние 2 свойства появляются в FlexPDE 7 впервые. FlexPDE – это полностью интегрированный решатель дифференциальных уравнений в частных производных, содержащий несколько внутренних модулей для полного реше-

ния системы:

Модуль редактирования скрипт-файлов, обладающий свойством выделения цветом текста, полным набором инструментов для редактирования текста, а также возможностью предварительного просмотра области в графическом виде;

Символьный анализатор уравнений расширяет заданные параметры и уравнения, производит дифференцирование по пространственным переменным, символьное интегрирование по частям для упрощения членов второго порядка для того, чтобы записать символьные уравнения Галёркина. Также производится символьное дифференцирование этих уравнений для формирования якобиана системы;

Модуль генерации сетки осуществляет треугольное или тетраэдральное разбиение двумерной или трёхмерной исследуемой области. В 2D случае в области создаётся неструктурированная треугольная сетка. В 3D случае 2D-область вытягивается в направлении третьей оси и полученная область обрезается поверхностями раздела. Результирующая область заполняется неструктурированной тетраэдральной сеткой;

Модуль конечно-элементного анализа выбирает подходящую схему решения для стационарных, нестационарных задач или задач на собственные значения с отдельными процедурами для линейных и нелинейных уравнений. Базовые функции могут быть линейными, квадратичными или кубическими;

Процедура адаптивного измельчения сетки проверяет адекватность разбиения и измельчает сетку, когда ошибка вели-

110