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

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

.pdf
Скачиваний:
5
Добавлен:
30.04.2022
Размер:
723.19 Кб
Скачать

Средства визуализации данных для наглядного представления результатов;

Средства для управления проектами и данными;

Средства анализа модели для усовершенствования архитектуры моделей и увеличения скорости имитации;

Функциональный блок MATLAB для импорта алго-

ритмов MATLAB;

Средства для импорта C/C++ кода.

2. Мультифизические системы конечно-элементного анализа.

Ядро системы COMSOL Multiphysics образуют программы, реализующие алгоритмы конечно-элементной дискретизации и численного решения систем дифференциальных уравнений в частных производных (ДУЧП) в многомерных (1D, 2D и 3D) и многосвязных областях сложной формы. Эти уравнения могут быть заданы в коэффициентной, обобщенной и слабой (проекционной) формах, а также в виде их комбинаций.

При решении линейных или почти линейных уравнений в ограниченной области Ω используется коэффициентная форма их записи

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

+

 

 

 

+

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ + =

с граничными условиями Дирихле и Неймана (обобщѐнными)

 

 

 

 

 

 

 

= ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− −

 

 

+

+ = −

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

и начальными условиями

 

 

 

 

 

 

 

 

 

 

=

,

 

0

=

.

 

 

 

0

0

 

 

 

0

 

 

 

 

 

 

 

 

В этих уравнениях многоиндексные коэффициенты e, d, c, α, β, γ, a, f, h, q, r, g являются комплекснозначными функциями пространственных координат, времени, искомых скалярных полей u и их пространственных производных (за исключением h, q, r, g), nj – внешняя нормаль к границе. Неизвестная вектор-функция µ, называемая множителем Лагранжа, вводится для согласования условий Дирихле и Неймана при их одновременном задании на одном и том же участке границы области. Заданные начальные значения скалярных полей могут зависеть только от пространственных координат. Индексы l, k = 1, … , N; i, j = 1, … , n (n = 1, 2, 3); m = 1, … , M N. По одинаковым индексам в произведениях осуществляется суммирование в указанных пределах.

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

 

2

 

 

 

 

Γ

 

 

 

+

 

 

+

 

= ,

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− Γ = + ,

= 0,

где:

Γ = − − + ,

= − − ,

= − ,= − .

10

Перед дискретизацией и последующим решением системы ДУЧП, записанные в коэффициентной или обобщѐнной формах, автоматически переводятся в слабую форму:

 

 

 

 

2

 

 

 

 

 

( Γ

 

+ −

 

 

 

) +

(

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂Ω

Ω

 

 

 

 

 

 

 

+ ) = 0,

= 0.

Ω

Для каждого значения индексов l и m выбираются свои весовые функции v и w, соответственно.

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

В результате конечно-элементной дискретизации система ДУЧП заменяется системой алгебраических уравнений большой размерности, которая численно решается прямыми

(MUMPS, PARDISO, SPOOLES, TAUCS, UMFPACK) или итерационными методами (BiCGStab, CG, FGMRES, GMRES, GMG).

MUMPS (MUltiftontal Massively Parallel sparse direct Solver) – решает разреженную систему линейных уравнений общего вида = . Для решения используется LU-разложение матрицы ( – треугольная, - ортогональная). Содержит предобусловленные алгоритмы перестановки столбцов матрицы , так, чтобы множители в разложении имели как можно

11

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

PARDISO (PARallel sparse DIrect Solver) – отличие этого решателя от предыдущего заключается в том, что для улучшения выполнения матричного разложения, алгоритм решателя использует BLAS (Basic Linear Algebra Subprogram) 3 уровня.

Также, имеется алгоритм для избежания поиска главного элемента матрицы. Так же, как и в предыдущем решателе, имеется функция использования внешней памяти. В версии 3.5 такой функции не было, вместо этого вводился ещѐ один тип реша-

теля, PARDISO out-of-core.

SPOOLES (SParse Object Oriented Linear Equations Solver)

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

UMFPACK (Unsymmetric MultiFrontal solver) - решает разреженную систему линейных уравнений общего вида= . Для решения используется несимметричный мультифронтальный метод и LU-разложение матрицы . Алгоритм решателя использует BLAS 3-го уровня. Так же, как и предыдущие решатели, содержит алгоритмы для перемещения столбцов исходной матрицы для минимализации ненулевых элементов в матрицах-множителях. Используется для решения несимметричных систем. В версии 3.5 является решателем по умолчанию, в 4.2 данный решатель отсутствует.

TAUCS Cholesky - решает разреженную систему линейных уравнений общего вида = , где - положительно определѐнная симметричная матрица. Для решения используется

12

мультифронтальное разложение Холецкого. Алгоритм решателя использует BLAS 3-го уровня. Так же, как и предыдущие решатели, содержит алгоритмы для перемещения столбцов исходной матрицы для минимализации ненулевых элементов в матрицах-множителях. Используется для решения несимметричных систем. В версии 4.2 данный решатель отсутствует.

Если в версии 3.5 при использовании решателя UMFPACK заканчивается память или процесс факторизации матрицы замедляется, то следует воспользоваться решателем SPOOLES. Он использует меньше памяти, но менее устойчив и медленнее сходится. Если система симметричная, комплексносимметричная или эрмитова, то лучше воспользоваться решателями PARDISO или SPOOLES, которые хранят только часть матрицы выше главной диагонали и, соответственно требуют в 2 раза меньше памяти. Если система к тому же положительно определена, можно также воспользоваться решателем TAUCS Cholesky.

Если же это не помогает и при решении прямым решателем не хватает памяти или же решение сходится слишком медленно, следует воспользоваться итерационными решателями.

GMRES (Generalized Minimum RESidual) – итерационный метод для решения системы общего вида = . Для корректной работы необходимо задать число итераций, которые решатель делает перед перезапуском. Чем большее число итераций задано, тем более устойчивой будет задача. С другой стороны, это увеличивает потребление памяти и время счѐта.

FGMRES (Flexible Generalized Minimum RESidual) – ите-

рационный метод для решения системы общего вида = . Является усовершенствованной версией решателя GMRES, так как позволяет задать более широкий класс предобуславливателей. Так, в качестве предобуславливателя можно задать любой итерационный решатель. Как следствие, этот решатель более устойчив, но требует примерно в 2 раза больше памяти, чем решатель GMRES при одинаковом числе итераций перед запуском.

13

Conjugate gradients – итерационный метод сопряжѐнных градиентов. Решает систему уравнений вида = , где - положительно определѐнная симметричная или эрмитова матрица. Иногда этот решатель работает в случае, если матрица не является положительно определѐнной, особенно если она близка к положительно определѐнной. Данный решатель занимает меньше всего памяти и является самым быстрым из итерационных решателей, но область его применимости сильно ограничена.

BiCGStab (BiConjugate Gradient Stabilized) – обобщѐнный стабилизированный метод бисопряжѐнных градиентов. В отличие от сопряжѐнных градиентов решает систему = для любого вида матрицы . Время, потраченное на одну итерацию в этом решателе постоянное. Объѐм памяти, требуемый при решении задач при помощи этого решателя примерно равен объѐму памяти, требуемому на 2 итерации при решении решателем GMRES, т.е. в большинстве случаев данный решатель требует меньше памяти, чем GMRES. Недостатками этого решателя по сравнению с GMRES является тот факт, что промежуточные невязки могут быть того же порядка, что и начальные или даже превосходить их, что в конечном счѐте может сказаться на точности и скорости сходимости.

Если система положительно определена и симметрична (или эрмитова), то следует воспользоваться решателем Conjugate gradients, который требует меньше памяти и в некоторых случаях быстрее, чем остальные итерационные решатели. Кроме того, в этом случае можно применить решатель SPOOLES, который требует меньше памяти, но менее устойчив и более медленный.

При решении задач физического характера в рамках базового модуля можно использовать два подхода: математический и физико-математический.

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

стационарная;

14

нестационарная;

на собственные значения.

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

При физико-математическом подходе предлагаются про- блемно-ориентированные интерфейсы для решения краевых задач из следующих разделов физики:

акустика (2D, 3D);

электростатика (2D, 3D) и магнитостатика (2D);

–электрическое поле постоянного тока в проводящей среде (2D, 3D);

квазистационарное электромагнитное поле (2D);

конвекция и диффузия (1D, 2D, 3D);

распространение тепла (1D, 2D, 3D);

динамика несжимаемой жидкости (2D, 3D);

механика деформируемых тел (2D, 3D).

Большим достоинством COMSOL Multiphysics является возможность произвольно сочетать любое количество нелинейных физических процессов. При этом задачи из различных областей решаются одновременно в одной модели, а не последовательно, что ведет к ускорению процесса моделирования и, что более важно, улучшает сходимость. Однако это приводит к существенному увеличению числа степеней свободы (несколько миллионов и более) дискретной конечно-элементной модели исследуемого явления и к необходимости использования компьютерных кластеров (поддерживается в последних верси-

ях COMSOL Multiphysics).

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

15

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

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

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

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

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

Кроме того, в COMSOL 5.1 существуют многоцелевые модули трассировки частиц и оптимизации, а также библиотека материалов, содержащая более 2500 материалов с указанием их основных свойств. Помимо этого в COMSOL 5.1 имеются модули интеграции с MATLAB и Excel, модули интеграции с

CAD-системами (SOLIDWORKS, Inventor, AutoCAD, Revit, PTC Creo Parametric, PTC Pro/ENGINEER и Solid Edge), моду-

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

Основные отличия версий 5.0 и 5.1 от предыдущих – это появление среды разработки приложений, позволяющей создавать приложения на основе существующих моделей, а также появление нового программного продукта, COMSOL Server для запуска и распространения созданных приложений.

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

COMSOL Multiphysics.

В1D-геометрии это точка (определяется путѐм задания координат, в случае если необходимо получить несколько то-

16

чек, координаты задаются через запятую или пробел) и отрезок (определяется путѐм задания координат левого и правого концов отрезка, в случае если необходимо получить несколько отрезков, координаты концов задаются через запятую или пробел).

В 2D-геометрии возможно задание следующих примити-

вов:

ломаная Безье – ломаная, звенья которой – кривые Безье первого, второго и третьего порядков. Для каждого из звеньев необходимо задать 2, 3 и 4 контрольные точки соответственно и соответствующие веса. Можно создавать как открытую, так и замкнутую ломаную, либо твѐрдое тело, границей которого является ломаная;

окружность – задаѐтся либо окружность (путѐм выбора тип-кривая) или круг (путѐм выбора тип-твѐрдое тело) с заданным радиусом, координатами базовой точки – центра или левого нижнего угла квадрата, описывающего круг, и секторным углом. Последняя опция позволяет задавать круг с вырезом, соответствующим секторному углу, равному дополнению заданного угла до полного угла. Также можно задавать угол вращения круга вокруг базовой точки;

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

параметрическая кривая – задаѐтся параметрическая кривая путѐм задания параметра, пределов его изменения и выражения координат через этот параметр. Начало координат может быть перенесено в любую точку с указанными координатами. Также возможно вращение кривой вокруг этой точки. COMSOL получает вид кривой путѐм интерполяции B- сплайнами. Число узлов интерполяции ограничивается либо задаваемой пользователем относительной точности, либо путѐм задания максимального числа узлов;

точка;

17

ломаная – упрощѐнный вариант примитива «ломаная Безье». Все звенья в данном случае являются отрезками. Задаѐтся путѐм задания координат вершин ломаной;

прямоугольник – задаѐтся прямоугольник (если выбрано тип-твѐрдое тело) или его граница (если выбрано типкривая). Задаваемые параметры – ширина и высота, координаты базовой точки (центра или левого нижнего угла) и угол вращения относительно базовой точки;

квадрат – аналогично прямоугольнику, только в данном случае задаѐтся только одна сторона квадрата.

В 3D-геометрии задаются следующие примитивы:

ломаная Безье – отличается от двумерного случая невозможностью задать твѐрдое тело, ограниченное ломаной;

параллелепипед - задаѐтся параллелепипед (если выбрано тип-твѐрдое тело) или его граница (если выбрано типповерхность). Задаваемые параметры – длина, ширина и высота, базовая точка – вершина с наименьшими координатами или центр, орт оси, параллельной высоте параллелепипеда (здесь и далее орт оси можно задавать как в декартовых, так и в сферических координатах), а также угол вращения параллелепипеда вокруг этой оси;

конус – задаѐтся конус или усечѐнный конус (если выбрано тип-твѐрдое тело) или его граница (если выбрано типповерхность). Задаваемые параметры – радиус основания, высота, угол между образующей и высотой (либо радиус верхнего сечения), координаты центра основания, орт оси конуса и угол вращения конуса вокруг его оси;

цилиндр – задаѐтся цилиндр (если выбрано типтвѐрдое тело) или его граница (если выбрано тип-поверхность). Задаваемые параметры – радиус основания, высота, координаты центра основания, орт оси цилиндра и угол вращения цилиндра вокруг его оси;

наклонный конус – задаѐтся наклонный конус или усечѐнный конус с эллиптическим основанием (если выбрано типтвѐрдое тело) или его граница (если выбрано тип-поверхность).

18