MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Математика\Partial Differential Equations Toolbox

В.Е.Шмелев "Partial Differential Equations Toolbox. Инструментарий решения дифференциальных уравнений в частных производных":
2. Работа пользователя с GUI-приложением PDE Toolbox Matlab

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

2.4. Режимы работы приложения PDETool

2.4.5. Режим решения PDE-задачи

GUI-приложение PDETool переходит в режим решения PDE задачи по команде Solve/Solve PDE (см. 2.1.8). В этом режиме происходит формирование глобальной разреженной матрицы коэффициентов, глобальной правой части, а также решение большой разреженной системы уравнений относительно узлового распределения искомой величины, входящей в PDE или систему PDE. Когда заканчивается процесс решения, PDETool переходит либо в режим визуализации решения, либо в предыдущий режим, в котором была подана команда Solve/Solve PDE. Режим решения PDE-задачи сопровождается интенсивной работой процессора и математического сопроцессора ЭВМ (занятость процессора близка к 100%), поэтому работа других приложений MATLAB и WINDOWS в это время значительно замедляется, если PDETool работает под управлением MATLAB 6. Если PDETool работает под управлением MATLAB 5, то переключение между задачами и приложениями в это время невозможно.

Время решения и точность зависят от числа узлов, количества элементов, регулярности сетки, типа краевой задачи (см. 2.3), вида PDE (эллиптическое, параболическое, гиперболическое), значений коэффициентов PDE (действительные или комплексные: в последнем случае время решения больше примерно в восемь раз), а также от параметров решателя PDE. Параметры решателя PDE можно настраивать по команде Solve/Parameters (см. 2.1.8). Вид диалогового окна, которое разворачивается по данной команде, изображён на рис. 2.19. Параметры этого диалогового окна влияют только на процесс решения эллиптических PDE.

Решение эллиптических PDE

PDETool поддерживает четыре (2*2) режима решения эллиптических PDE:

– без переопределения сетки и адаптивный режим;
– режим линейного и режим нелинейного решателя.

Если флаг “Adaptive mode” (см. рис. 2.19) сброшен (это бывает по умолчанию), то это соответствует режиму без переопределения сетки, иначе – адаптивному режиму. Адаптивным называется режим многократного решения PDE с частичным переопределением (сгущением) конечноэлементной сетки на каждом итерационном шаге. В неадаптивном режиме решение PDE производится только один раз на заданной сетке. Этот режим не порождает никаких сообщений в командном окне MATLAB, если не возникает никаких ненормальных ситуаций. В адаптивном режиме на каждом итерационном шаге в командное окно выдаётся сообщение о количестве элементов текущей сетки. В конце итерационного процесса в командное окно выдаётся сообщение о причине завершения процесса.

Рассмотрим настраиваемые параметры адаптивного режима (см. рис. 2.19).

"Maximum number of triangles” – ограничение максимального числа элементов сетки после переопределения. Если на каком-либо итерационном шаге число конечных элементов превысит заданное значение, то этот шаг будет последним, и в командное окно MATLAB будет выдано сообщение “Maximum number of triangles obtained”. При развёртывании диалогового окна ввода параметров PDETool автоматически заносит в соответствующее поле рекомендуемое значение (оно зависит от размерности текущей сетки).

"Maximum number of refinements” – максимальное число итераций, связанных с переопределением конечноэлементной сетки. Если в соответствующее поле ввести значение n, то будет всего n+1 итераций (n переопределений сетки). После последней итерации в командное окно MATLAB будет выдано сообщение “Maximum number of refinement passes obtained” (если раньше не наступит другое условие завершения итерационного процесса).

Параметр “Triangle selection method” может принимать одно из трёх значений:
- ”Worst triangles” – на каждом итерационном шаге для переопределения (деления) выбираются “худшие треугольники”, т.е. конечные элементы, показатель регулярности которых меньше некоторого порогового значения;
- ”Relative tolerance” – на каждом итерационном шаге для переопределения (деления) выбираются конечные элементы, в которых оценка относительной погрешности решения превышает заданное значение;
- ”User defined function” – на каждом итерационном шаге для переопределения (деления) выбираются конечные элементы в соответствии с условием, описанным в функции, заданной пользователем. Если выбирается это значение путём нажатия “радиокнопки”, то в соответствующее поле нужно ввести имя пользовательской функции.

"Worst triangle fraction” – пороговое значение показателя регулярности конечных элементов. Нужное числовое значение вводится в соответствующую строку ввода.

"Relative tolerance” – в эту строку ввода нужно вписать пороговое значение оценки относительной погрешности решения, которое используется для выбора треугольников, подлежащих переопределению.

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

"Refinement method” – параметр, который может принимать одно из следующих двух значений, выбираемых с помощью ниспадающего меню: “regular” или “longest” (по умолчанию) (см. подраздел 2.4.4 – режимы переопределения конечноэлементной сетки).

Пусть в адаптивном режиме нужно рассчитать распределение гармонического электромагнитного поля в системе с цилиндрическим электромагнитным экраном (геометрия расчётной области изображена на рис. 2.50). Для простоты зададим частоту равной нулю (это равносильно решению магнитостатической задачи). Решение начнём с сетки, изображённой на рис. 2.51. Зададим следующие значения параметров адаптивного режима: "Maximum number of triangles" = 10000; "Maximum number of refinements" = 8; "Triangle selection method" = "Worst triangles"; "Worst triangle fraction" = 0.5; "Refinement method" = "longest". В результате выполнения команды Solve PDE будет выполнено 9 итераций (8 переопределений сетки). В командное окно MATLAB будут выданы следующие сообщения:

Number of triangles: 512
Number of triangles: 642
Number of triangles: 917
Number of triangles: 1181
Number of triangles: 1845
Number of triangles: 2980
Number of triangles: 4154
Number of triangles: 6811
Number of triangles: 9472
Maximum number of refinement passes obtained

Итоговая конечноэлементная сетка, содержащая 9472 треугольника, изображена на рис. 2.55, а картина линий магнитной индукции (изолиний векторного магнитного потенциала) – на рис. 2.56. Из рис. 2.55 видно, что параметры адаптивного режима заданы неоптимально: в стальном экране (зона №5) сетка получилась более крупной, чем в воздухе вне экрана (зона №2).


Рис. 2.55. Конечноэлементная сетка, переопределённая в адаптивном режиме


Рис. 2.56. Картина линий магнитной индукции в системе с экраном

Адаптивное переопределение сетки зависит от распределения коэффициентов PDE в расчётной области. Если для этой же электромагнитной системы задать частоту изменения внешнего электрического поля равной 2 кГц, то коэффициенты PDE станут комплексными. Итоговая конечноэлементная сетка при задании тех же значений параметров адаптивного режима будет иметь вид, изображённый на рис. 2.57. Всего элементов в этой сетке 8163. Линии равного уровня действующего значения напряжённости электрического поля показаны на рис. 2.58.


Рис. 2.57. Конечноэлементная сетка, переопределённая в адаптивном режиме
на частоте 2 кГц


Рис. 2.58. Картина изолиний действующего значения напряжённости электрического поля на частоте 2 кГц

Если коэффициенты PDE зависят от искомой величины или от её пространственных дифференциальных операторов, то такая краевая задача называется нелинейной. Для решения таких задач нужно включать режим нелинейного решателя. Этот режим включается путём установки флага “Use nonlinear solver” в диалоговом окне, изображённом на рис. 2.19. В этом режиме происходит многократное формирование и решение глобального разреженного матричного уравнения относительно узлового распределения искомой величины и уточнение на каждом итерационном шаге элементного распределения коэффициентов PDE в соответствии с заданной на входе в задачу зависимостью. Пусть в режиме нелинейного решателя нужно рассчитать распределение магнитостатического поля в системе с цилиндрическим экраном (геометрия расчётной области изображена на рис. 2.50). Решение проведём на стандартной статической сетке, состоящей из 16529 узлов и 32768 элементов. В зоне №5 (в цилиндрическом экране) зададим нелинейные магнитные свойства: mu=120./(1+ux.^2+uy.^2), соответствующие насыщению кривой намагничивания. Параметры нелинейного решателя зададим по умолчанию. После подачи команды Solve PDE приложение PDETool перейдёт в режим решения на несколько минут. После окончания итерационного процесса в командном окне MATLAB появятся следующие сообщения:

Iteration Residual Step size Jacobian: fixed

0 10.0000000000
1 1.2095626662 1.0000000
2 0.2265940939 1.0000000
3 0.1512438266 0.2500000
4 0.0265846460 0.5000000
5 0.0227498179 0.5000000
6 0.0058274763 0.5000000
7 0.0038948862 0.5000000
8 0.0012155895 0.5000000
9 0.0007607710 0.5000000
10 0.0002378939 0.5000000
11 0.0001551291 0.5000000
12 0.0000453249 0.5000000

Картина линий магнитной индукции, соответствующая полученному решению, показана на рис. 2.59.


Рис. 2.59. Картина линий магнитной индукции в системе с экраном при нелинейных магнитных свойствах

Рассмотрим настраиваемые параметры режима нелинейного решателя (см. рис. 2.19).

"Nonlinear tolerance” – оценка нормы относительной погрешности решения PDE при которой итерационный процесс можно заканчивать (по умолчанию 1E-4).

"Initial solution” – начальное решение (с него начинается итерационный процесс, по умолчанию – нуль).

Параметр “Jacobian” может принимать одно из трёх возможных значений:
’fixed’ – аппроксимация якобиана по матрице “жёсткости” (по умолчанию);
’lumped’) – аппроксимация якобиана, основанная на численном дифференцировании коэффициентов;
’full’) - вычисление полного якобиана, основанное на разреженной версии функции numjac.

"Norm" – Относительная норма “энергетического функционала” (по умолчанию inf).

В режиме нелинейного решателя выполняется не более 25 итераций. Этот параметр не перенастраивается.

Решение параболических и гиперболических PDE

Параболические и гиперболические PDE – это нестационарные PDE. PDE Toolbox MATLAB поддерживает решение только линейных нестационарных уравнений и только на статической сетке. PDETool поддерживает решение нестационарных PDE только при нулевых начальных условиях и только для моментов времени time=0:1:10.

Пусть требуется решить параболическое PDE (2.2) с коэффициентами d=c=1, a=f=0, а в зоне №5 c=1/120. Распределение искомой величины u в моменты времени t=1:1:10 показано на рис. 2.60 – 2.69. По окончании решения в командном окне MATLAB появятся следующие сообщения:

Time: 1
Time: 2
Time: 3
Time: 4
Time: 5
Time: 6
Time: 7
Time: 8
Time: 9
Time: 10
88 successful steps
0 failed attempts
178 function evaluations
1 partial derivatives
20 LU decompositions
177 solutions of linear systems


Рис. 2.60. Распределение искомой величины в момент времени t=1


Рис. 2.61. Распределение искомой величины в момент времени t=2


Рис. 2.62. Распределение искомой величины в момент времени t=3


Рис. 2.63. Распределение искомой величины в момент времени t=4


Рис. 2.64. Распределение искомой величины в момент времени t=5


Рис. 2.65. Распределение искомой величины в момент времени t=6


Рис. 2.66. Распределение искомой величины в момент времени t=7


Рис. 2.67. Распределение искомой величины в момент времени t=8


Рис. 2.68. Распределение искомой величины в момент времени t=9


Рис. 2.69. Распределение искомой величины в момент времени t=10

По команде Export Solution происходит экспорт в базовую рабочую область MATLAB узлового распределения решения PDE. По умолчанию узловое распределение искомой величины записывается в переменную под именем u. В случае одного скалярного эллиптического PDE u представляет собой матрицу-столбец с числом элементов NP, где NP – число узлов конечноэлементной сетки. В случае системы двух скалярных эллиптических PDE u – матрица-столбец, состоящая и 2*NP элементов. Первые NP элементов относятся к первой переменной в системе PDE, следующие NP элементов – ко второй переменной. В случае одного нестационарного PDE u – прямоугольная матрица размера (NP,11), где каждому столбцу соответствует свой момент времени: столбцу №1 соответствует t=0, столбцу №2 – t=1, … столбцу №11 – t=10. В случае системы двух скалярных нестационарных PDE u – прямоугольная матрица размера (2*NP,11).

В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика