FEMM 5

Сходимость, проверки и верификация

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

Коаксиальный конденсатор. Сохранённое решение FEMM 5. Узловой скаляр сохранённой модели. b и h — размеры выделенной геометрии между крайними поверхностями по координатам; пропорции сечения сохранены.
Коаксиальный конденсатор1 — ИзоляцияСохранённое решение FEMM 5. Узловой скаляр сохранённой модели. b и h — размеры выделенной геометрии между крайними поверхностями по координатам; пропорции сечения сохранены.Открыть SVG целикомРезультат отдельноИсходная учебная модель
Предварительные понятия

Чему верить в численном решении

Любое численное решение неверно — вопрос лишь в том, насколько и в каком смысле. Дискретная модель приближает математическую, и при неограниченном сгущении сетки её решение должно стремиться к точному. Это свойство называют сходимостью, и именно оно, а не красота картинки, отличает расчёт от иллюстрации. Но сходимость — свойство предела, а работаем мы всегда с конечной сеткой. Поэтому нужны инструменты, позволяющие по нескольким конечным сеткам оценить, насколько далёк результат от предела, и понять, какие величины уже достоверны, а какие нет.

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

Погрешность дискретизации и порядок сходимости

Погрешность дискретизации и порядок сходимости

Пусть uu — точное решение краевой задачи, uhu_h — решение дискретной модели с характерным размером элемента hh, а e(h)=∥u−uh∥e(h)=\|u-u_h\| — погрешность в некоторой норме (или погрешность производной от решения величины: ёмкости, энергии, поля в точке). Говорят, что метод сходится с порядком pp, если при h→0h\to0 e(h)≈Chp,e(h)\approx Ch^p , где постоянная CC зависит от задачи и гладкости решения, но не от hh. Уменьшение hh вдвое уменьшает погрешность в 2p2^p раз.

Порядок pp определяется двумя обстоятельствами: степенью полиномов в функциях формы и гладкостью точного решения. Для линейных треугольников и гладкого решения теория даёт следующие априорные ожидания [Сегерлинд; Сильвестер].

Величина Порядок Причина
Потенциал φh\varphi_h (среднеквадратичная погрешность) O(h2)O(h^2) Линейная функция приближает гладкую с ошибкой, квадратичной по размеру элемента
Поле Eh=−∇φh\uE_h=-\nabla \varphi_h внутри элемента O(h)O(h) Дифференцирование теряет один порядок: кусочно-постоянное поле приближает гладкое с ошибкой, линейной по hh (усреднённое по соседним элементам поле в узлах регулярной сетки сходится быстрее — см. лабораторию)
Энергия WhW_h, ёмкость CW=2Wh/U2C_W=2W_h/U^2, индуктивность O(h2)O(h^2) Погрешность энергии квадратична по погрешности поля

Почему энергия сходится быстрее поля

Пусть E\uE — точное поле, Eh\uE_h — приближённое, δE=Eh−E\delta\uE=\uE_h-\uE. Энергия приближённого решения Wh=12∫ε∣E+δE∣2dV=W+∫ε E⋅δE dV+12∫ε∣δE∣2dV.W_h=\frac12\int\varepsilon|\uE+\delta\uE|^2\dV =W+\int\varepsilon\,\uE\cdot\delta\uE\,\dV+\frac12\int\varepsilon|\delta\uE|^2\dV . Для задачи Лапласа с заданными потенциалами электродов среднее слагаемое равно нулю. Действительно, δE=−∇(φh−φ)\delta\uE=-\nabla (\varphi_h-\varphi), где разность φh−φ\varphi_h-\varphi обращается в нуль на электродах, а точное поле удовлетворяет ∇⋅(εE)=0\nabla\cdot (\varepsilon\uE)=0; по теореме Остроградского–Гаусса ∫ε E⋅δE dV=−∮(φh−φ) εE⋅n dS+∫(φh−φ)∇⋅(εE) dV=0\int\varepsilon\,\uE\cdot\delta\uE\,\dV=-\oint(\varphi_h-\varphi)\,\varepsilon\uE\cdot\un\,\dS+\int(\varphi_h-\varphi)\nabla\cdot (\varepsilon\uE)\,\dV=0 (на электродах нуль первый множитель, на линиях симметрии — нормальная составляющая поля). Остаётся Wh−W=12∫ε∣δE∣2dV≥0.W_h-W=\frac12\int\varepsilon|\delta\uE|^2\dV\ge0 . Если поле сходится как O(h)O(h), то его квадрат — как O(h2)O(h^2). Кроме того, при заданных потенциалах Wh≥WW_h\ge W: метод Галёркина минимизирует энергию на подпространстве функций формы, и любое приближение даёт энергию не ниже точной. Ёмкость по энергии при сгущении сетки убывает к точному значению сверху, монотонно. При заданных источниках (зарядах, токах) картина зеркальна: минимизируется функционал, равный в точке решения −W-W, и энергия, а с ней индуктивность катушки с заданным током, сходится снизу.

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

Ёмкость по энергии и по заряду

Ёмкость можно вычислить и иначе — через заряд электрода, то есть поток смещения через замкнутый контур вокруг него: CQ=Qh/UC_Q=Q_h/U, где Qh=∮Dh⋅n dlQ_h=\oint\uD_h\cdot\un\,\dd l (на единицу глубины). Здесь используется само разрывное поле Dh\uD_h, а не его квадрат, и условие ортогональности не помогает. Результат зависит от того, где проведён контур: через элементы, прилегающие к электроду, или дальше — в точной задаче поток один и тот же, в дискретной — нет, ибо ∇⋅Dh\nabla\cdot \uD_h отличен от нуля на рёбрах. Поэтому CQC_Q, как правило, сходится медленнее, чем CWC_W, может приближаться к пределу с любой стороны, а разность ∣CQ−CW∣|C_Q-C_W| служит внутренней оценкой погрешности, не требующей знания точного ответа. Обе величины сходятся к одной ёмкости — их расхождение на конечной сетке есть мера того, насколько дискретное решение ещё не удовлетворяет закону Гаусса локально.

Оценка порядка по нескольким сеткам

Если точное решение известно, порядок находят по двум сеткам: p=ln⁡(e1/e2)ln⁡(h1/h2).p=\frac{\ln(e_1/e_2)}{\ln(h_1/h_2)} . При e1=4 %e_1=4\,\%, e2=1 %e_2=1\,\% и h1/h2=2h_1/h_2=2 получаем p=ln⁡4/ln⁡2=2p=\ln4/\ln2=2.

Точное решение обычно неизвестно — иначе и считать было бы незачем. Тогда применяют экстраполяцию Ричардсона [Самарский].

Экстраполяция Ричардсона

Пусть величина FF вычислена на трёх последовательно сгущаемых сетках hh, h/2h/2, h/4h/4: значения F1F_1, F2F_2, F3F_3. Если Fk=F+ChkpF_k=F+C h_k^p (старшие члены отброшены), то F1−F2=Chp(1−2−p),F2−F3=C(h/2)p(1−2−p),F_1-F_2=Ch^p\left(1-2^{-p}\right),\qquad F_2-F_3=C(h/2)^p\left(1-2^{-p}\right), и их отношение равно 2p2^p. Отсюда наблюдаемый порядок и экстраполированное значение p=log⁡2F1−F2F2−F3,F≈F3+F3−F22p−1.p=\log_2\frac{F_1-F_2}{F_2-F_3},\qquad F\approx F_3+\frac{F_3-F_2}{2^p-1} . Оценка погрешности самой мелкой сетки: ∣F3−F∣≈∣F3−F2∣/(2p−1)|F_3-F|\approx|F_3-F_2|/(2^p-1).

Три значения ёмкости

Погонная ёмкость получена на трёх сетках: C1=104,00C_1=104{,}00 пФ/м, C2=101,00C_2=101{,}00 пФ/м, C3=100,25C_3=100{,}25 пФ/м (по энергии; сгущение вдвое на каждом шаге). Разности: C1−C2=3,00C_1-C_2=3{,}00, C2−C3=0,75C_2-C_3=0{,}75; отношение 3,00/0,75=43{,}00/0{,}75=4, наблюдаемый порядок p=log⁡24=2p=\log_24=2 — соответствует априорному ожиданию для энергии на линейных элементах. Экстраполированное значение C≈100,25+100,25−101,004−1=100,25−0,25=100,00 пФ/м.C\approx100{,}25+\frac{100{,}25-101{,}00}{4-1}=100{,}25-0{,}25=100{,}00\ \text{пФ/м}. Погрешности относительно экстраполированного значения: 4,0 %4{,}0\,\%, 1,0 %1{,}0\,\%, 0,25 %0{,}25\,\% — каждая следующая вчетверо меньше предыдущей, как и положено при p=2p=2. Погрешность самой мелкой сетки оценивается как 0,75/3=0,250{,}75/3=0{,}25 пФ/м без знания точного ответа. Монотонное убывание сверху согласуется с минимизацией энергии.

Если бы отношение разностей оказалось, например, равным 2,52{,}5 (p≈1,3p\approx1{,}3), это означало бы, что либо решение негладко (особая точка), либо сетки ещё слишком грубы для асимптотики ChpCh^p, либо сгущение выполнено неравномерно.

Экстраполяция Ричардсона применима только в асимптотической области, где старший член ChpCh^p действительно доминирует. Признак того, что область достигнута, — стабильность наблюдаемого pp при переходе к следующей тройке сеток. На графике погрешности от hh в двойном логарифмическом масштабе асимптотика видна как прямая с наклоном pp; загиб на грубых сетках означает, что асимптотика не достигнута.

Проверки баланса

Дискретное решение должно удовлетворять законам сохранения: полный поток D\uD через замкнутую поверхность вокруг всех электродов равен их суммарному заряду; сумма токов, втекающих в проводник, равна нулю; в стационарной тепловой задаче подведённое тепло равно отведённому плюс выделенному. Эти проверки обязательны, и их нарушение указывает на ошибку: неверное граничное условие, незамкнутую область, неточно решённую систему.

Однако выполнение баланса не гарантирует точности. Если потоки вычисляются согласованно с дискретной формулировкой — через те же уравнения, что и решение, — то метод Галёркина обеспечивает баланс с точностью решателя на любой, даже грубой, сетке: сумма уравнений Галёркина по всем узлам электрода есть не что иное, как равенство его полного потока заряду. Поток, найденный прямым интегрированием разрывного поля Dh\uD_h по контуру, удовлетворяет балансу лишь приближённо, и степень этого приближения также слабо связана с погрешностью ёмкости. Баланс выполняется на сетке из трёх элементов — ёмкость при этом может быть неверна вдвое. Баланс — необходимое условие, сгущение сетки — путь к достаточному.

Особые точки

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

Поле у входящего угла

Пусть граница проводника образует угол, а область поля (диэлектрик) занимает сектор с раствором θ\theta при вершине. Решение уравнения Лапласа вблизи вершины в полярных координатах (r,ψ)(r,\psi) с началом в вершине имеет вид φ≈φ0+Krπ/θsin⁡πψθ,∣E∣∝rπ/θ−1,\varphi\approx\varphi_0+Kr^{\pi/\theta}\sin\frac{\pi\psi}{\theta},\qquad |\uE|\propto r^{\pi/\theta-1}, где KK — постоянная, зависящая от задачи в целом. При θ<π\theta<\pi (диэлектрик занимает выпуклый сектор, например внутри прямого угла между двумя пластинами) показатель степени у поля положителен и поле у вершины стремится к нулю. При θ>π\theta>\pi показатель отрицателен и поле неограниченно. Для прямоугольной кромки проводника внешний угол со стороны диэлектрика θ=3π/2\theta=3\pi/2, откуда π/θ=2/3\pi/\theta=2/3 и ∣E∣∝r−1/3.|\uE|\propto r^{-1/3}. Поле бесконечно на кромке, но энергия конечна: ∫∣E∣2 r dr dψ∝∫r−2/3r dr=∫r1/3dr\int|\uE|^2\,r\,\dd r\,\dd\psi\propto\int r^{-2/3}r\,\dd r=\int r^{1/3}\dd r — сходится. [Джексон]

Следствия для численного решения таковы.

Ещё один источник погрешности, не связанный с hh напрямую, — численное интегрирование. Для линейных элементов с постоянными свойствами интегралы берутся точно; при переменных свойствах и в осесимметричных задачах с весом 2πr2\pi r квадратуры Гаусса вносят погрешность, которая обычно много меньше погрешности дискретизации, но может стать заметной для элементов, примыкающих к оси.

Лаборатория

Лаборатория решает уравнение Лапласа методом конечных элементов с линейными треугольниками для двух задач. Первая — четверть коаксиального конденсатора (a=10a=10 мм, b=30b=30 мм, U=100U=100 В): на дугах заданы потенциалы UU и 00, на двух радиальных отрезках — условия симметрии. Все величины погонные и относятся к четверти сечения, поэтому аналитический эталон C′=2πε0/ln⁡(b/a)=50,64C'=2\pi\varepsilon_0/\ln(b/a)=50{,}64 пФ/м берётся с множителем 1/41/4: 12,6612{,}66 пФ/м; поле в контрольной точке r=a+(b−a)/4=15r=a+(b-a)/4=15 мм равно ∣E∣=U/(rln⁡(b/a))=6068|\uE|=U/(r\ln(b/a))=6068 В/м. Вторая — электрод с острым углом (квадрат [0;12]2[0;\tfrac12]^2 в единичной области): со стороны диэлектрика угол входящий, решение имеет особенность вида rπ/θ−1r^{\pi/\theta-1} (для прямоугольной кромки — r−1/3r^{-1/3}), аналитического эталона в замкнутой форме нет, и за эталон ёмкости принято значение, экстраполированное по Ричардсону.

Четыре уровня сгущения сетки hh, h/2h/2, h/4h/4, h/8h/8 (на нулевом уровне — 4 или 8 ячеек на сторону). Для каждого уровня показаны ёмкость по энергии CW=2Wh/U2C_W=2W_h/U^2, ёмкость по заряду CQ=Qh/UC_Q=Q_h/U (поток Dh\uD_h через поверхность внутреннего электрода), ∣Eh∣|\uE_h| в контрольной точке — для коаксиала в узле, где поле восстановлено усреднением по прилегающим элементам, для кромки в элементе у вершины, — погрешности относительно эталона, а также график погрешности от hh в двойном логарифмическом масштабе с оценкой наблюдаемого порядка. Карта потенциала и сетка показаны для каждого уровня.

На что обратить внимание:

Сравнение с аналитическими решениями

Аналитическое решение — самый сильный эталон, потому что его погрешность равна нулю. Задач с такими решениями мало, но для каждого типа поля в курсе есть по крайней мере одна.

Эталон Решение Что проверяет
Коаксиальный конденсатор C′=2πε/ln⁡(b/a)C'=2\pi\varepsilon/\ln(b/a), E=U/(rln⁡(b/a))E=U/(r\ln(b/a)) Электростатика, криволинейные границы, ёмкость двумя способами
Пластина с тепловыделением T(x)=Ts+qV2λ(L2−x2)T(x)=T_s+\dfrac{q_V}{2\lambda}(L^2-x^2) Объёмные источники, условие Дирихле, параболический профиль
Скин-эффект в пластине толщиной dd J˙(x)∝ch⁡[(1+j)x/δ]ch⁡[(1+j)d/(2δ)]\cplx J(x)\propto\dfrac{\operatorname{ch}\bigl[(1+\ii)x/\delta\bigr]}{\operatorname{ch}\bigl[(1+\ii)d/(2\delta)\bigr]} Гармонический режим, комплексные амплитуды, разрешение сеткой слоя δ\delta
Длинный соленоид Bz=μ0NI/ℓB_z=\mu_0NI/\ell внутри (NN витков на длине ℓ\ell) Осесимметричная магнитостатика, множитель 2πr2\pi r, условие на оси

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

Верификация и валидация

Два слова, которые часто путают, обозначают разные и одинаково необходимые виды проверки [Oberkampf].

Верификация

Ответ на вопрос: правильно ли решены уравнения? Включает верификацию кода (программа решает именованную задачу так, как задумано: сравнение с аналитическими решениями, проверка наблюдаемого порядка сходимости против теоретического) и верификацию решения (для данной задачи оценена погрешность дискретизации: сгущение сетки, экстраполяция Ричардсона, сравнение независимых способов вычисления одной величины). Верификация — чисто математическая деятельность; физика в ней не участвует.

Валидация

Ответ на вопрос: решены ли правильные уравнения? Сравнение результатов модели с измерениями на реальном устройстве или его физической модели. Валидация оценивает погрешность модели: допущений о симметрии, граничных условиях, материальных свойствах, пренебрежённых явлениях. Она возможна лишь после верификации — иначе невозможно отличить ошибку модели от ошибки её решения.

Структура полной погрешности результата: результат−истина=(модель−истина)⏟погрешность модели+(точное решение модели−дискретное)⏟дискретизация+(округление, решатель)⏟обычно пренебрежимо.\text{результат}-\text{истина}=\underbrace{(\text{модель}-\text{истина})}_{\text{погрешность модели}}+\underbrace{(\text{точное решение модели}-\text{дискретное})}_{\text{дискретизация}}+\underbrace{(\text{округление, решатель})}_{\text{обычно пренебрежимо}} . Первое слагаемое включает и неопределённость исходных данных: если теплопроводность изоляции известна с точностью ±10 %\pm10\,\%, расчётная температура неопределённа примерно в той же мере, и сгущать сетку до 0,1 %0{,}1\,\% бессмысленно. Разумная цель верификации — довести численную погрешность до уровня, заметно меньшего неопределённости данных, и не далее. Оценку чувствительности результата к данным получают, варьируя свойства в пределах их разброса, — это часть анализа неопределённости, а не сходимости.

Распространённые заблуждения

  • «Сетка сошлась, значит, ответ верен». Сходимость означает лишь, что найдено решение выбранной математической модели. Ошибки геометрии, граничных условий и материалов она не обнаруживает — это предмет валидации.
  • «Баланс сходится, значит, сетка достаточна». Законы сохранения в интегральной форме выполняются методом Галёркина на любой сетке; они проверяют постановку, а не точность.
  • «Нужно сгущать, пока максимальное поле не стабилизируется». У острой кромки оно не стабилизируется никогда. Либо введите реальное скругление, либо работайте с интегральными величинами.
  • «Погрешность 0,1 % по сравнению с предыдущей сеткой означает точность 0,1 %». Разность соседних сеток равна погрешности мелкой сетки, умноженной на 2p−12^p-1: при p=2p=2 она втрое превышает истинную погрешность мелкой сетки (оценка консервативна), но при p<1p<1 — у особых точек — занижает её. Кроме того, вне асимптотической области оценка вообще неприменима.
  • «Экстраполированное значение точнее любого расчёта, его и следует указывать». Экстраполяция верна лишь при стабильном наблюдаемом порядке; при переменном pp она может ухудшить результат.

Вопросы и упражнения

  1. Энергия электрического поля системы электродов с заданными потенциалами на сетках hh, h/2h/2, h/4h/4: W1=2,560W_1=2{,}560 мДж, W2=2,440W_2=2{,}440 мДж, W3=2,410W_3=2{,}410 мДж. Найдите наблюдаемый порядок, экстраполированное значение и оценку погрешности третьей сетки. С какой стороны сходится энергия и почему? Как изменился бы ответ на последний вопрос для катушки с заданным током?
  2. На тех же трёх сетках ∣Eh∣|\uE_h| в элементе, лежащем в гладкой части области, равно 3,603{,}60, 3,303{,}30 и 3,153{,}15 кВ/м. Каков наблюдаемый порядок? Согласуется ли он с ожиданием для линейных элементов?
  3. У кромки с внешним углом θ=3π/2\theta=3\pi/2 на сетке hh получено ∣E∣=10|\uE|=10 кВ/м в элементе у вершины. Чего ожидать на сетке h/8h/8? Как изменится показатель степени для кромки с углом θ=2π\theta=2\pi (бесконечно тонкая пластина)?
  4. В тепловой задаче баланс «подведённое тепло равно отведённому» выполнен с точностью 10−1210^{-12} на сетке из 40 элементов, а температура центра отличается от аналитической на 30 %. Объясните, почему здесь нет противоречия.
  5. Расчёт температуры обмотки верифицирован: погрешность дискретизации 0,2 %. Измерение дало на 12 К больше расчётных 85 К. Какой вид погрешности это выявляет и какие допущения модели вы проверили бы в первую очередь?
  6. Два инженера считают одну и ту же ёмкость: один по энергии, другой по потоку через контур вплотную к электроду. На грубой сетке ответы различаются на 6 %. Кто ближе к истине и как это проверить, не зная точного ответа?

Ответы к пунктам 1, 2 и 3

1. W1−W2=0,120W_1-W_2=0{,}120, W2−W3=0,030W_2-W_3=0{,}030 мДж; отношение 44, p=2p=2. W≈2,410+(2,410−2,440)/3=2,410−0,010=2,400W\approx2{,}410+(2{,}410-2{,}440)/3=2{,}410-0{,}010=2{,}400 мДж. Погрешность третьей сетки ≈0,010\approx0{,}010 мДж (0,4 %0{,}4\,\%). При заданных потенциалах энергия сходится сверху — метод Галёркина минимизирует энергетический функционал на подпространстве. Для катушки с заданным током минимизируемый функционал равен −W-W, и энергия (индуктивность) сходится снизу.

2. Разности 0,300{,}30 и 0,150{,}15 кВ/м, отношение 22, p=1p=1 — ожидаемый первый порядок для кусочно-постоянного поля внутри линейного элемента. Экстраполированное значение 3,15−0,15=3,003{,}15-0{,}15=3{,}00 кВ/м.

3. Поле у вершины растёт как h−1/3h^{-1/3}: при сгущении в 8 раз — в 81/3=28^{1/3}=2 раза, то есть около 20 кВ/м; дальнейшее сгущение продолжит рост. Для θ=2π\theta=2\pi: π/θ−1=−1/2\pi/\theta-1=-1/2, ∣E∣∝r−1/2|\uE|\propto r^{-1/2} — особенность сильнее.

Итоги курса

Этот урок завершает курс, и его итоги — итоги всего пройденного пути.

Главный урок курса состоит в следующем: численная модель отвечает ровно на тот вопрос, который ей задан — с той геометрией, теми материалами, теми граничными условиями и той сеткой, которые выбраны. Понимать поле означает понимать, какой вопрос был задан, и уметь оценить, насколько ответ достоверен.

Применение в FEMM 5