Многосеточный метод
Сорт | Дифференциальное уравнение |
---|
В численном анализе метод ( метод MG ) представляет собой алгоритм решения дифференциальных уравнений с использованием иерархии дискретизаций многосеточный . Они являются примером класса методов, называемых методами мультиразрешения , которые очень полезны в задачах, демонстрирующих несколько масштабов поведения. Например, многие базовые методы релаксации демонстрируют разные скорости сходимости для коротковолновых и длинноволновых компонентов, что предполагает различное отношение к этим различным масштабам, как в подходе анализа Фурье к многосеточным методам. [1] Методы MG могут использоваться как в качестве решателей, так и в качестве предобуславливателей .
Основная идея многосеточного подхода состоит в том, чтобы ускорить сходимость базового итерационного метода (известного как релаксация, который обычно уменьшает ошибку коротковолнового диапазона) путем глобальной коррекции аппроксимации решения на мелкой сетке время от времени, выполняемой путем решения грубой задачи . Грубая задача, хотя ее решение и дешевле, аналогична задаче с мелкой сеткой тем, что она также имеет коротковолновые и длинноволновые ошибки. Эту проблему также можно решить, сочетая расслабление и обращение к еще более грубым сеткам. Этот рекурсивный процесс повторяется до тех пор, пока не будет достигнута сетка, в которой стоимость прямого решения пренебрежимо мала по сравнению со стоимостью одной релаксационной развертки на мелкой сетке. Этот многосеточный цикл обычно уменьшает все компоненты ошибок на фиксированную величину, ограниченную значительно ниже единицы, независимо от размера сетки мелкой сетки. Типичное применение многосеточного метода — численное решение эллиптических уравнений в частных производных в двух или более измерениях. [2]
Многосеточные методы могут применяться в сочетании с любыми распространенными методами дискретизации. Например, метод конечных элементов можно преобразовать в многосеточный метод. [3] В этих случаях многосеточные методы являются одними из самых быстрых методов решения, известных сегодня. В отличие от других методов, многосеточные методы являются общими, поскольку они могут обрабатывать произвольные области и граничные условия . Они не зависят от разделимости уравнений или других специальных свойств уравнения. использовались для более сложных несимметричных и нелинейных систем уравнений, таких как Ламе уравнения упругости Они также широко или уравнения Навье-Стокса . [4]
Алгоритм
[ редактировать ]Существует множество разновидностей многосеточных алгоритмов, но общими чертами являются то, что иерархия дискретизаций рассматривается (сеток). Важными шагами являются: [5] [6]
- Сглаживание – уменьшение высокочастотных ошибок, например, с помощью нескольких итераций метода Гаусса – Зейделя .
- Остаточные вычисления – вычисление остаточной ошибки после операций сглаживания.
- Ограничение – понижение дискретизации остаточной ошибки до более грубой сетки.
- Интерполяция или продление – интерполяция поправки, вычисленной на более грубой сетке, в более мелкую сетку.
- Исправление : добавление удлиненной крупной сетки к более мелкой сетке.
Существует множество вариантов многосеточных методов с различными компромиссами между скоростью решения одной итерации и скоростью сходимости с этой итерацией. Существует 3 основных типа: V-цикл, F-цикл и W-цикл. Они различаются тем, какие и сколько циклов грубой обработки выполняются за одну тонкую итерацию. Алгоритм V-цикла выполняет один общий V-цикл. F-цикл выполняет грубый V-цикл, за которым следует грубый F-цикл, в то время как каждый W-цикл выполняет два грубых W-цикла за итерацию. Для дискретной 2D-задачи вычисление F-цикла занимает на 83% больше времени, чем итерация V-цикла, а итерация W-цикла занимает на 125% больше времени. Если проблема возникает в трехмерной области, то итерация F-цикла и итерация W-цикла занимают примерно на 64% и 75% больше времени соответственно, чем итерация V-цикла без учета накладных расходов . Обычно W-цикл обеспечивает сходимость, аналогичную F-циклу. Однако в случаях задач конвекции-диффузии с высокими числами Пекле W-цикл может показать превосходство по скорости сходимости на итерацию над F-циклом. Выбор операторов сглаживания чрезвычайно разнообразен, поскольку включает в себя Методы подпространства Крылова и могут быть предварительно обусловлены .
Любая итерация геометрического многосеточного цикла выполняется на иерархии сеток и, следовательно, может быть закодирована с использованием рекурсии. Поскольку функция вызывает себя с параметрами меньшего размера (более грубыми), самая грубая сетка находится там, где рекурсия останавливается. В случаях, когда система имеет высокий номер обусловленности , процедура коррекции модифицируется таким образом, что только часть решения с расширенной крупной сеткой добавляется к более мелкой сетке.
Эти шаги можно использовать, как показано в псевдокоде стиля MATLAB для 1 итерации V-Cycle Multigrid : function phi = V_Cycle(phi,f,h)
% Recursive V-Cycle Multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-Smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = V_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Post-Smoothing
phi = smoothing(phi,f,h);
end
|
Следующее представляет многосеточный F-цикл . Этот многосеточный цикл медленнее, чем V-цикл на итерацию, но приводит к более быстрой сходимости. function phi = F_Cycle(phi,f,h)
% Recursive F-cycle multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = F_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Re-smoothing
phi = smoothing(phi,f,h);
% Compute residual errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = V_Cycle(eps,rhs,2*h);
end
% Prolongation and Correction
phi = phi + prolongation(eps);
% Post-smoothing
phi = smoothing(phi,f,h);
end
|
Аналогичным образом, процедуры могут быть изменены, как показано в псевдокоде в стиле MATLAB, для 1 итерации многосеточного W-цикла для еще более высокой скорости сходимости в некоторых случаях: function phi = W_cycle(phi,f,h)
% Recursive W-cycle multigrid for solving the Poisson equation (\nabla^2 phi = f) on a uniform grid of spacing h
% Pre-smoothing
phi = smoothing(phi,f,h);
% Compute Residual Errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
eps = zeros(size(rhs));
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = W_cycle(eps,rhs,2*h);
end
% Prolongation and correction
phi = phi + prolongation(eps);
% Re-smoothing
phi = smoothing(phi,f,h);
% Compute residual errors
r = residual(phi,f,h);
% Restriction
rhs = restriction(r);
% stop recursion at smallest grid size, otherwise continue recursion
if smallest_grid_size_is_achieved
eps = coarse_level_solve(eps,rhs,2*h);
else
eps = W_cycle(eps,rhs,2*h);
end
% Prolongation and correction
phi = phi + prolongation(eps);
% Post-smoothing
phi = smoothing(phi,f,h);
end
|
Стоимость вычислений [ нужна ссылка ]
[ редактировать ]Этот подход имеет преимущество перед другими методами, заключающееся в том, что он часто линейно масштабируется в зависимости от количества используемых дискретных узлов. Другими словами, он может решить эти задачи с заданной точностью за количество операций, пропорциональное числу неизвестных.
Предположим, что имеется дифференциальное уравнение, которое можно приближенно (с заданной точностью) решить на сетке. с заданной точкой сетки плотность . Предположим, далее, что решение на любой сетке можно получить при заданном усилие из раствора на более крупной сетке . Здесь, - это соотношение точек сетки в «соседних» сетках, которое предполагается постоянным во всей иерархии сетки, и — это некоторая константа, моделирующая усилия по вычислению результата для одной точки сетки.
Затем получается следующее рекуррентное соотношение для попытки получения решения на сетке :
И, в частности, находим для самой мелкой сетки что
Объединив эти два выражения (и используя ) дает
Затем, используя геометрический ряд , находим (для конечного )
то есть решение может быть получено в время. Следует отметить, что из этого правила есть одно исключение. т.е. многосеточная система W-цикла, используемая для решения одномерной задачи; это приведет к сложность. [ нужна ссылка ]
Многосеточная предварительная подготовка
[ редактировать ]Многосеточный метод с намеренно уменьшенным допуском можно использовать в качестве эффективной предварительной обработки для внешнего итеративного решателя, например: [7] Решение еще можно получить времени, а также в случае, когда в качестве решателя используется многосеточный метод. Многосеточное предварительное обусловливание используется на практике даже для линейных систем, обычно с одним циклом на итерацию, например, в Hypre . Его главное преимущество перед чисто многосеточным решателем особенно очевидно для нелинейных задач, например, на собственные значения задач .
Если матрица исходного уравнения или проблемы собственных значений является симметричной положительно определенной (SPD), предобуславливатель обычно также конструируется как SPD, так что стандартные сопряженного градиента (CG) итеративные методы все еще можно использовать. Такие наложенные ограничения SPD могут усложнить конструкцию предварительного обусловливателя, например, требуя скоординированного предварительного и последующего сглаживания. Тем не менее, предварительно обусловленный наискорейший спуск и гибкие методы CG для линейных систем SPD и LOBPCG для симметричных задач собственных значений. показаны [8] быть устойчивым, если предобуславливатель не является SPD.
Предварительный кондиционер Брамбл-Пашьяк-Сюй
[ редактировать ]Первоначально описано в докторской диссертации Сюй. диссертация [9] и позже опубликовано в Bramble-Pasciak-Xu, [10] BPX-преобуславливатель — один из двух основных многосеточных подходы (другой — классический многосеточный алгоритм, такой как V-цикл) для решения крупномасштабных алгебраических систем, возникающих в результате дискретизации моделей в науке и технике, описываемых уравнениями в частных производных. Ввиду системы коррекции подпространства, [11] Предварительный обусловливатель BPX — это метод параллельной коррекции подпространства, тогда как классический V-цикл представляет собой метод последовательной коррекции подпространства. Известно, что предобуславливатель BPX естественно более параллелен и в некоторых приложениях более надежен, чем классический многосеточный метод V-цикла. Метод широко используется исследователями и практиками с 1990 года.
Обобщенные многосеточные методы
[ редактировать ]Многосеточные методы можно обобщать разными способами. Их можно применять естественным образом при пошаговом решении параболических уравнений в частных производных или непосредственно к зависящим от времени уравнениям в частных производных . [12] В настоящее время проводятся исследования многоуровневых методов решения гиперболических уравнений в частных производных . [13] Многосеточные методы также могут применяться к интегральным уравнениям или к задачам статистической физики . [14]
Другой набор методов мультиразрешения основан на вейвлетах . Эти вейвлет-методы можно комбинировать с многосеточными методами. [15] [16] Например, одно из применений вейвлетов — переформулировать подход конечных элементов в терминах многоуровневого метода. [17]
Адаптивная многосеточная система обеспечивает адаптивное измельчение сетки , то есть корректирует сетку по мере выполнения вычислений способом, зависящим от самих вычислений. [18] Идея состоит в том, чтобы увеличить разрешение сетки только в тех областях решения, где это необходимо.
Алгебраическая многосеточная система (AMG)
[ редактировать ]Практически важные расширения многосеточных методов включают методы, в которых для построения многоуровневой иерархии не используются уравнения в частных производных или фон геометрической задачи. [19] Такие алгебраические многосеточные методы (AMG) строят свою иерархию операторов непосредственно из матрицы системы. В классическом AMG уровни иерархии представляют собой просто подмножества неизвестных без какой-либо геометрической интерпретации. (В более общем смысле, неизвестные с грубой сеткой могут представлять собой определенные линейные комбинации неизвестных с мелкой сеткой.) Таким образом, методы AMG становятся решателями «черного ящика» для определенных классов разреженных матриц . AMG считается выгодным главным образом там, где геометрическая многосеточная технология слишком сложна для применения. [20] но часто используется просто потому, что позволяет избежать кодирования, необходимого для настоящей многосеточной реализации. Хотя классический AMG был разработан первым, родственный алгебраический метод известен как сглаженная агрегация (SA).
В обзорном документе [21] Цзиньчао Сюй и Людмилом Зикатановым «алгебраические многосеточные» методы понимаются с абстрактной точки зрения. Они разработали единую структуру, и существующие алгебраические многосеточные методы могут быть последовательно выведены. Была выведена абстрактная теория о том, как построить оптимальное грубое пространство, а также квазиоптимальные пространства. Также они доказали, что при соответствующих предположениях абстрактный двухуровневый метод АМГ сходится равномерно относительно размера линейной системы, изменения коэффициентов и анизотропии. Их абстрактная структура охватывает большинство существующих методов AMG, таких как классический AMG, AMG с минимизацией энергии, AMG с несглаженной и сглаженной агрегацией и спектральный AMGe.
Многосеточные во времени методы
[ редактировать ]Многосеточные методы также были приняты для решения начальных задач . [22] Особый интерес здесь представляют параллельные во времени многосеточные методы: [23] в отличие от классических методов Рунге-Кутты или линейных многошаговых методов они могут обеспечивать параллелизм во временном направлении. Хорошо известный метод параллельного во времени интегрирования Parareal также можно переформулировать как двухуровневую многосеточную во времени.
Мультисетка для почти единичных задач
[ редактировать ]Практически единичные проблемы возникают в ряде важных физических и технических приложений. Простой, но важный пример почти сингулярных задач можно найти в формулировке линейной упругости смещения для почти несжимаемых материалов. Обычно основная проблема решения таких почти сингулярных систем сводится к рассмотрению почти сингулярного оператора, заданного формулой робастно по положительному, но малому параметру . Здесь — симметричный полуопределенный оператор с большим нулевым пространством , а — симметричный положительно определенный оператор. Было много работ, в которых предпринимались попытки разработать надежный и быстрый многосеточный метод для решения таких почти единичных задач. В качестве принципа проектирования было предложено общее руководство для достижения параметров (например, размера сетки и физических параметров, таких как коэффициент Пуассона , которые появляются в почти сингулярном операторе), независимой скорости сходимости многосеточного метода, применяемого к таким почти сингулярным системам. [24] т. е. в каждой сетке должно быть построено пространственное разложение, на основе которого применяется сглаживание, так, чтобы нулевое пространство сингулярной части почти сингулярного оператора включалось в сумму локальных нулевых пространств, пересечение нулевого пространства и локальных пространств, возникающих в результате разложения пространства.
Примечания
[ редактировать ]- ^ Роман Винандс; Вольфганг Йоппих (2005). Практический анализ Фурье для многосеточных методов . ЦРК Пресс. п. 17. ISBN 978-1-58488-492-7 .
- ^ У. Троттенберг; CW Остерли; А. Шуллер (2001). Многосеточный . Академическая пресса. ISBN 978-0-12-701070-0 .
- ^ Ю Чжу; Андреас К. Кангелларис (2006). Многосеточные методы конечных элементов для моделирования электромагнитного поля . Уайли. п. 132 и далее . ISBN 978-0-471-74110-7 .
- ^ Шах, Тасним Мохаммад (1989). Анализ многосеточного метода (Диссертация). Оксфордский университет. Бибкод : 1989STIN...9123418S .
- ^ М.Т. Хит (2002). «Раздел 11.5.7 Многосеточные методы» . Научные вычисления: вводный обзор . Высшее образование МакГроу-Хилл. п. 478 и далее . ISBN 978-0-07-112229-0 .
- ^ П. Весселинг (1992). Введение в многосеточные методы . Уайли. ISBN 978-0-471-93083-9 .
- ^ Андрей В. Князев, Клаус Неймейр. Эффективное решение симметричных задач на собственные значения с использованием многосеточных предобуславливателей в локально оптимальном блочном методе сопряженных градиентов . Электронные транзакции по численному анализу, 15, 38–55, 2003.
- ^ Бауместер, Хенрикус; Догерти, Эндрю; Князев, Андрей В. (2015). «Несимметричное предварительное условие для методов сопряженного градиента и наискорейшего спуска 1» . Procedia Информатика . 51 : 276–285. arXiv : 1212.6680 . дои : 10.1016/j.procs.2015.05.241 . S2CID 51978658 .
- ^ Сюй, Цзиньчао. Теория многоуровневых методов. Том. 8924558. Итака, Нью-Йорк: Корнельский университет, 1989.
- ^ Брамбл, Джеймс Х., Джозеф Э. Пасциак и Цзиньчао Сюй. «Параллельные многоуровневые предобуславливатели». Математика вычислений 55, вып. 191 (1990): 1–22.
- ^ Сюй, Цзиньчао. «Итерационные методы пространственной декомпозиции и коррекции подпространства». Обзор SIAM 34, вып. 4 (1992): 581-613.
- ^ Ф. Хюльсеманн; М. Коварщик; М. Мор; У. Рюде (2006). «Параллельная геометрическая многосетка» . В Аре Магнусе Брюасете; Аслак Твейто (ред.). Численное решение уравнений в частных производных на параллельных компьютерах . Биркхойзер. п. 165. ИСБН 978-3-540-29076-6 .
- ^ Например, Дж. Блазек (2001). Вычислительная гидродинамика: принципы и приложения . Эльзевир. п. 305. ИСБН 978-0-08-043009-6 . и Ачи Брандт и Рима Гандлин (2003). «Мультигред для усвоения атмосферных данных: анализ» . У Томаса Ю. Хоу; Эйтан Тадмор (ред.). Гиперболические проблемы: теория, численные методы, приложения: материалы Девятой Международной конференции по гиперболическим проблемам 2002 года . Спрингер. п. 369. ИСБН 978-3-540-44333-9 .
- ^ Ачи Брандт (2002). «Многомасштабные научные вычисления: обзор» . У Тимоти Дж. Барта; Тони Чан; Роберт Хеймс (ред.). Мультимасштабные и мультиразрешительные методы: теория и приложения . Спрингер. п. 53. ИСБН 978-3-540-42420-8 .
- ^ Бьёрн Энгквист; Олоф Ранборг (2002). «Численная гомогенизация на основе вейвлетов с приложениями» . У Тимоти Дж. Барта; Тони Чан; Роберт Хеймс (ред.). Методы мультимасштаба и мультиразрешения . Том. 20 конспектов лекций по вычислительной технике и технике. Спрингер. п. 140 и далее . ISBN 978-3-540-42420-8 .
- ^ У. Троттенберг; CW Остерли; А. Шуллер (2001). Многосеточный . ISBN 978-0-12-701070-0 .
- ^ Альберт Коэн (2003). Численный анализ вейвлет-методов . Эльзевир. п. 44. ИСБН 978-0-444-51124-9 .
- ^ У. Троттенберг; CW Остерли; А. Шуллер (2001). «Глава 9: Адаптивная многосеточная система» . Многосеточный . п. 356. ИСБН 978-0-12-701070-0 .
- ^ Яир Шапира (2003). «Алгебраическая многосетка» . Матричная многосеточная система: теория и приложения . Спрингер. п. 66. ИСБН 978-1-4020-7485-1 .
- ^ У. Троттенберг; CW Остерли; А. Шуллер (2001). Многосеточный . стр. 417. ISBN 978-0-12-701070-0 .
- ^ Сюй, Дж. и Зикатанов, Л., 2017. Numerical Acta, 26, стр. 591–721. [1]
- ^ Хакбуш, Вольфганг (1985). «Параболические многосеточные методы» . Вычислительные методы в прикладных науках и технике, VI : 189–197. ISBN 9780444875976 . Проверено 1 августа 2015 г.
- ^ Хортон, Грэм (1992). «Многосеточный метод параллельного времени». Коммуникации в прикладных численных методах . 8 (9): 585–595. дои : 10.1002/cnm.1630080906 .
- ^ Янг-Джу Ли, Цзиньбяо Ву, Цзиньчао Сюй и Людмил Зикатанов, Робастные методы коррекции подпространства для почти сингулярных систем, Математические модели и методы в прикладных науках, Vol. 17, № 11, стр. 1937-1963 (2007)
Ссылки
[ редактировать ]- Г. П. Астрачанцев (1971), Итерационный метод решения эллиптических сетевых задач . СССР Комп. Математика. Математика. Физ. 11, 171–182.
- Н. С. Бахвалов (1966), О сходимости метода релаксации с естественными ограничениями на эллиптический оператор . СССР Комп. Математика. Математика. Физ. 6, 101–13.
- Ачи Брандт (апрель 1977 г.), « Многоуровневые адаптивные решения краевых задач », Математика вычислений , 31 : 333–90.
- Уильям Л. Бриггс, Ван Эмден Хенсон и Стив Ф. Маккормик (2000), Учебное пособие по многосеточным технологиям (2-е изд.), Филадельфия: Общество промышленной и прикладной математики , ISBN 0-89871-462-1 .
- Р. П. Федоренко (1961), Релаксационный метод решения эллиптических разностных уравнений . СССР Компьютер. Математика. Математика. Физ. 1, с. 1092.
- Р. П. Федоренко (1964), Скорость сходимости одного итерационного процесса. СССР Компьютер. Математика. Математика. Физ. 4, с. 227.
- Пресс, WH; Теукольский, С.А.; Феттерлинг, WT; Фланнери, BP (2007). «Раздел 20.6. Многосеточные методы решения краевых задач» . Численные рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк: Издательство Кембриджского университета. ISBN 978-0-521-88068-8 .