3364
.pdfвыполняет высокоточные численные расчёты, используя точные дроби, целые числа произвольной точности и числа с плавающей точкой переменной точности. Maxima позволяет строить графики функций и визуализировать данные, используя двумерные и трёхмерные графики. Среди достоинств также стоит отметить возможность свободного использования, сравнительно небольшой размер программы (около 80 МБ со всеми расширениями), возможность работы как с консольной версией, так и с помощью графических интерфейсов (например, wxMaxima, предоставляющий графический вывод формул, ввод наиболее распространённых функций через диалоговые окна, а также разделение окна ввода формул и окна вывода результатов). Последней на данный момент является версия
5.40.0(вышла 30 мая 2017 г.).
3.2.Мультифизические системы конечно-элементного анализа
Ядро системы COMSOL Multiphysics образуют программы, реализующие алгоритмы конечно-элементной дискретизации и численного решения систем дифференциальных уравнений в частных производных (ДУЧП) в многомерных (1D, 2D и 3D) и многосвязных областях сложной формы [10]. Эти уравнения могут быть заданы в коэффициентной, обобщенной и слабой (проекционной) формах, а также в виде их комбинаций.
При решении линейных или почти линейных уравнений в ограниченной области Ω используется коэффициентная форма их записи
+ |
|
+ |
|
− |
|
− |
+ + |
|
|
|
+ + =
сграничными условиями Дирихле и Неймана (обобщёнными)
= ,
71
и |
− − |
|
− |
+ + |
|
= − |
, |
|
|
||||||||
|
начальными условиями |
|
( |
) |
|
|
||
|
В этих уравнениях( ) = |
|
|
|||||
|
многоиндексные коэффициенты 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. По одинаковым индексам в произведениях осуществляется суммирование в указанных пределах.
Также возможно использование модифицированных дифференциальных уравнений в коэффициентной форме. Модификация заключается в добавлении членов, содержащих производную решения по времени. Так, в оригинальные дифференциальные уравнения в коэффициентной форме входит один
член, содержащий производную решения по времени,
(здесь и далее для простоты используется скалярное решение),
где индекс в коэффициенте |
обозначает аналогию слагаемо- |
|||
го |
|
со слагаемым |
, |
т.е. вместо решения используется |
|
первая производная решения по времени. По аналогии можно ввести дополнительные члены с коэффициентами
( – скаляр, |
– векторы (n 1), где n – размерность, |
гео, |
- |
|||
метрии задачи),, |
аналогичными членам |
|
|
|
||
∙ |
соответственно. Таким |
образом, дифференциальное |
||||
|
|
∙(− ), ∙ (− |
), |
уравнение примет вид:
72
− ∙ |
|
+ |
|
+ ∙ |
|
+ |
|
+ ∙(− + ). |
|
|
|
|
Дополнительные слагаемые недоступны для явного задания в интерфейсе PDE, Coefficient Form, поэтому их учёт осуществляется посредством модификации коэффициентов и . В одномерном случае модифицированные коэффициенты имеют вид:
В |
|
= − |
|
|
− |
|
|
+ , |
|
= − |
|
|
|
+ . |
|
||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
случае 2D геометрии имеем: |
|
|
|
|
|
|
||||||||||||||||
= − |
|
|
− |
|
|
+ |
, |
|
= − |
|
|
|
|
− |
|
|
+ , |
||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
= − |
|
|
|
|
|
|
− |
|
|
|
|
+ . |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Коэффициенты |
, |
|
|
, |
|
, |
, |
|
|
, , |
|
задаются |
пользователем.
Аналогичным образом можно ввести слагаемые, содержащие вторую производную решения по времени в дополне-
ние к существующему члену |
|
|
. |
|
|
|
|
|||||||||
|
|
|
||||||||||||||
|
Также производные решения по времени добавляются в |
|||||||||||||||
граничное условие Неймана: |
|
|
|
|
|
|
||||||||||
где индекс∙ |
+ |
+ |
|
|
+ |
|
|
+ |
= − , |
|||||||
|
|
|||||||||||||||
|
|
( |
обозначает) |
аналогию со слагаемым . |
||||||||||||
|
Учёт дополнительных членов осуществляется посредст- |
|||||||||||||||
вом модификации коэффициента |
: |
|
|
|
|
|||||||||||
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
73 |
− |
, |
|||||||||
где |
|
задаются |
пользователем. |
|||||||||||||
|
|
= |
− |
В случае нелинейных задач применяется обобщенная форма
|
|
|
+ |
|
|
|
|
+ |
|
Γ |
= |
, |
||
|
|
|
|
|
|
|
||||||||
|
− |
Γ = |
+ |
|
|
|
|
|
|
, |
|
|||
|
|
|
|
|
|
|
|
|||||||
где |
|
|
|
|
= 0, |
|
|
|
|
|
|
|||
Γ = − |
|
|
|
|
− |
|
|
+ |
, |
|||||
|
|
|
|
|
|
|||||||||
|
= |
|
− |
|
|
|
|
− |
, |
|
, |
|||
|
|
|
|
|
|
|
||||||||
|
|
= |
− |
|
|
|||||||||
Правую часть |
дифференциальных уравнений в частных |
|||||||||||||
|
= |
|
− . |
|
|
производных в коэффициентной и общей форме ( и соответственно) можно задавать не только в областях, но и дополнительно на границах (Boundary Source), на рёбрах в 3D гео-
метриях (Edge Source), и точках (Point Source).
Члены, содержащие множители Лагранжа, |
|
в коэф- |
|||
фициентной форме и |
|
|
имеют свой фи- |
||
|
|
в общей форме |
|
− |
|
|
|
|
|
зический смысл. В задачах, связанных с механикой конструкций они обозначают силу реакции связей.
Перед тем, как перейти к решению системы дифференциальных уравнений, записанных в общей или коэффициентной форме, COMSOL автоматически переводит эти уравнения в слабую форму, которая в общем виде для трёхмерной задачи записывается следующим образом:
74
0 = |
( ) − ( ) |
+ |
|
( ) − ( ) |
+ |
|||||||||
+ |
( ) − ( ) |
+ |
|
( ) − ( ) − |
||||||||||
− |
( ) |
( |
) |
− |
|
( ) |
( ) |
− |
||||||
|
|
|
|
|
|
|
||||||||
− |
|
( ) |
|
( ) − |
|
|
( ) |
( ), |
|
|||||
0 = |
|
|
Ω, |
|
|
|||||||||
|
|
на |
|
|
|
|
|
|
|
|||||
|
0 = ( ) |
( ) в областях |
|
|
, |
|
|
|||||||
|
|
поверхностях |
|
|
||||||||||
|
( ) на рёбрах |
, |
|
|
||||||||||
|
0 = |
|
( |
) в точках |
|
|
|
|
||||||
где – набор |
тестовых функций, число которых совпадает с |
|||||||||||||
0 = |
|
|
|
, |
|
|
|
|
размерностью решения, подынтегральные скалярные функции
( ) |
( ) включают |
в себя |
решение |
|
|
|
, соответст- |
||||||
вующие, |
тестовые функции |
|
|
|
и их |
производные. Пере- |
|||||||
|
|
|
,…, |
|
|||||||||
ход от коэффициентов |
уравнений в общей форме к этим функ- |
||||||||||||
|
|
|
,…, |
|
|
|
|
|
|||||
циям осуществляется по формулам: |
|
|
|
|
|||||||||
|
( |
) = |
|
|
|
+ |
|
|
+ |
|
( |
), |
|
|
|
|
|
|
|
|
|
||||||
|
( |
) = |
|
|
|
|
|
|
+ |
|
( |
), |
|
|
) = |
|
|
+ |
|
|
|||||||
|
|
( |
|
|
|
( |
), |
|
|
75
тором= 0,1,2,3 |
( ) |
|
|
||
– обозначение=геометрического, |
уровня, на ко- |
||||
где |
|
||||
|
задаются соответствующие условия: 0 – в точках, 1 – на |
||||
рёбрах, 2 – на поверхностях, 3 – в областях. Слагаемые |
– |
это члены, записанные в слабой форме при помощи условия Weak Contribution (см. ниже) на соответствующем геометрическом уровне. Если вместо обычных уравнений связи используются уравнения связи, записанные в слабой форме (см. ниже
Weak |
Constraint), |
то |
уравнения |
|
( ) поменяются на |
|
0 = ∫ |
( ) |
, |
где |
– набор |
тестовых функций для мно- |
|
|
|
0 = |
|
жителей Лагранжа, – геометрический уровень, по которому осуществляется интегрирование – область, поверхность, ребро. В случае точек интеграл меняется на сумму.
Кроме уравнений в коэффициентной, общей и слабой формах, а также граничных условий типа Дирихле и Неймана, в математическом интерфейсе COMSOL Multiphysics есть возможность задания дополнительных уравнений на различных геометрических уровнях при помощи следующих функций:
– Constraint – граничное условие, накладывающее связь вида = . По умолчанию используется двусторонняя связь (Bidirectional, symmetric), т.е. сила реакции связи вычисляется
непосредственно из уравнения связи по формуле , но
также можно использовать и одностороннюю связь (Unidirectional), которая отличается тем, что сила реакции связи вычис-
ляется независимо от |
|
как |
|
Ω |
, где |
|
– тождественный |
оператор для точек на |
границе |
. Также представляется воз- |
|||||
|
|
− |
|
Ω |
|
||
можность использования |
уравнения связи в слабой форме (см. |
||||||
|
|
Ω |
|
|
|
Weak Constraint) вместо уравнения в обычной форме.
– Weak Contribution – задание дифференциальных уравнений в слабой форме на любом геометрическом уровне – в точках, на рёбрах, на поверхностях и в областях. Возможно использование как переменных, участвующих в модели, так и
76
новых переменных. Новые переменные определяются в узле
Auxiliary Dependent Variable.
–Weak Contribution on Mesh Boundaries – функция, по-
хожая на Weak Contribution, с той разницей, что данная функция определена только на высшем геометрическом уровне (т.е.
вобласти) на границах элементов сетки.
–Pointwise Constraint – дискретизация уравнений связей
производится таким образом, что уравнения связей вида |
|
|
осуществляется (при использовании Лагранжевых |
элементов) |
|
|
= 0 |
в Лагранжевых точках (см. Лагранжевы конечные элементы), отсюда и название. Тип связи может быть как двусторонним (при этом пользователь задаёт лишь уравнения связи), так и пользовательским (User defined) (помимо уравнения связи задаётся также выражение для силы реакции связи). Также необходимо задать тип и порядок элементов для дискретизации уравнений связей. Данное условие доступно для задания на всех геометрических уровнях.
– Weak Constraint – отличие этого условия от условия Pointwise Constraint заключается в том, что множители Лагранжа рассматриваются как дополнительные переменные, поэтому для них создаются свои базисные и тестовые функции. Уравнение связи в этом случае примет вид:
= 0,
Ω
где – набор тестовых функций для множителей Лагранжа. Аналогичным образом уравнения связи задаются и на поверхностях (на рёбрах в 2D), на рёбрах (в 3D) и в точках (в этом случае вместо интеграла берётся сумма). Данное условие предпочтительно для применения в случае нелинейных связей, либо когда пользователю нужно знать значение множителей Лагранжа.
Существует также набор интерфейсов, содержащих шаблоны для наиболее широко распространённых дифференциальных уравнений в частных производных, таких, как уравне-
77
ние Лапласа, уравнение Пуассона, волновое уравнение, уравнение Гельмгольца, уравнение теплопроводности и уравнение конвективной диффузии.
Помимо интерфейсов, позволяющих определить дифференциальные уравнения в частных производных в коэффициентной, общей или слабой форме на высшем геометрическом уровне (т.е. в областях), существуют интерфейсы для задания уравнений в коэффициентной, общей и слабой формах на более низких уровнях, т.е. если задача решается в 3D-геометрии, то доступны интерфейсы для задания уравнений на поверхностях, рёбрах и в точках. Функционал каждого из интерфейсов в точности повторяет функционал интерфейсов, отвечающих за задание уравнений на высшем геометрическом уровне, т.е. если в 3D-геометрии выбран один из интерфейсов, позволяющий задать дифференциальные уравнения в частных производных на поверхности, то его функционал будет включать задание на поверхности уравнения в коэффициентной, общей или слабой форме, задание стандартных граничных условий на рёбрах (Дирихле, Неймана или условие связи (Constraint)), а также ус-
ловий Weak Contribution, Pointwise Constraint, Weak Constraint
и правой части дифференциальных уравнений (Source) на поверхностях, рёбрах и в точках.
Наконец, можно задавать условия на соседних границах, объединённых в пары. Создание пар возможно в случае, когда геометрия представляет собой совокупность объектов (т.е. при создании геометрии не применяется функция объединения). Использование пар, таким образом, позволяет связать границы, принадлежащие разным объектам геометрии. Существует два типа пар:
–тождественные пары (Identity Pairs) – используются, когда у двух объектов геометрии имеется общие границы. Те границы, части которых являются общими для двух объектов, объединяются в пары;
–контактные пары (Contact Pairs) – используются, когда границы объектов приходят в контакт, но в то же время не
78
проникают друг в друга при деформации. В рамках базового модуля использование данного типа пар возможно только при наличии лицензии на модуль «Механика конструкций» или
MEMS-модуль.
При использовании функционала Identity Pairs можно применять все основные типы граничных условий. По умолчанию на границах, объединённых в пары, задаётся условие непрерывности (Continuity), обеспечивающее непрерывность полей переменных при переходе через границы, объединённые в пару. Также на границах, объединённых в пары, возможно задание условий Дирихле, Неймана, уравнения связи, а также условий Pointwise Constraint и Weak Contribution. Те же усло-
вия можно задавать и на тех частях границы, которые объединены в пары, но не являются общими для двух объектов геометрии.
Помимо решений ДУЧП в областях, определяемых пользователем, имеется возможность решать системы обыкновенных дифференциальных уравнений второго порядка как в 1D, 2D, 3D геометриях, так и в 0D-геометрии. Общий вид системы выглядит следующим образом:
( , ̇, ̈, ) = 0,
где ̇– производная функции-решения по времени. Если функция зависит только от , то уравнение (1.14) сводится к алгебраическому.
Вид функции , а также начальные условия ( ), ̇( ) задаются пользователем. Количество уравнений в системе строго не ограничено. Систему уравнений данного вида можно определить при помощи интерфейса Global ODEs and DAEs или выбора свойства Global Equations в любом из PDEинтерфейсов. Термин Global означает, что данные уравнения и переменные, входящие в уравнения, действительны во всём COMSOL-файле, т.е. во всех моделях, входящих в файл. Помимо глобальных уравнений можно глобально задавать уравнения связей (Global Constraint) и уравнения, записанные в слабой форме (Weak Contribution).
79
Также задание обыкновенных дифференциальных уравнений или алгебраических уравнений может осуществляться непосредственно в модели на разных геометрических уровнях: в областях (Domain ODEs and DAEs), на границах области
(Boundary ODEs and DAEs), на рёбрах в 3D (Edge ODEs and DAEs) и в точках (Point ODEs and DAEs). Каждый из этих ин-
терфейсов содержит функции для задания системы обыкновенных дифференциальных уравнений второго порядка вида
(Distributed ODEs):
+=
исистемы алгебраических уравнений (Algebraic Equation):
=.
Каждый из вышеуказанных интерфейсов позволяет так-
же задать условия Weak Contribution, Pointwise Constraint, Weak Constraint на всех геометрических уровнях не выше того, на котором определён данный интерфейс.
Помимо интерфейсов, отвечающих за решение дифференциальных уравнений в частных производных, обыкновенных дифференциальных и алгебраических уравнений, в группу математических интерфейсов входит интерфейс, предназначенный для расчёта расстояния до стенок при исследовании течения жидкости при помощи модифицированного уравнения эйконала (Wall Distance), интерфейсы, реализующие подход Лагранжа-Эйлера для изучения физических процессов в под-
вижной системе координат (Deformed Geometry, Moving Mesh), а также вспомогательный интерфейс, позволяющий изучить чувствительность указанной величины к изменениям параметров, входящих в модель (Sensivity).
В результате конечно-элементной дискретизации система ДУЧП заменяется системой алгебраических уравнений большой размерности, которая численно решается прямыми
(MUMPS, PARDISO, SPOOLES, TAUCS, UMFPACK) или ите-
80