Как построить оператор продолжения и ограничения для алгебраического многосеточного решателя?

10

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

Пол
источник

Ответы:

13

Во-первых, если у вас есть структурированная сетка, вы можете использовать геометрическую, а не алгебраическую многосетку из-за некоторых теоретических и эффективных преимуществ (например, возможность повторной дискретизации вместо использования операторов грубой сетки Галеркина). Алгебраические многосеточные методы обычно делятся на две категории.

Классическая алгебраическая многосетка

Этот метод был введен Брандтом, Маккормиком и Руге в 1982 году и имеет сильную теорию для матриц . Брандт (1986) имеет стандартную теорию сходимости. Посмотрите BoomerAMG из пакета Hypre для популярной и высоко масштабируемой параллельной реализации. Более надежный и общий вариант называется Bootstrap AMG, см. Эту недавнюю статью от Брандта, Бранника, Кала и Лившица .M

Сглаженная агрегация

Сглаженная агрегация Ванека, Манделя и Брезины (1996) - более новый метод, который оказался полезным для векторных задач, таких как эластичность. Общий подход состоит в том, чтобы начать с векторов, характеризующих почти нулевое пространство оператора (например, моды твердого тела в упругости), построить агрегаты, используя связность матрицы (обычно путем нахождения максимального независимого набора ), и "сгладить «агрегаты (с использованием оператора) для создания более низких энергетических грубых базисных функций. Популярные параллельные реализации - ML от Trilinos , Prometheus от Марка Адамса (приз Гордона Белла 2004 года), PCGAMG в PETScATA(также от Марка Адамса, в основном полная замена Prometheus) и сглаженный компонент агрегации кода CUSP на основе CUDA CUSP .

Обратите внимание, что все программное обеспечение, упомянутое выше, может быть доступно через общий интерфейс с помощью PETSc .

Джед браун
источник
4

«Многосетка» Троттенберга и др. - отличная книга, и похоже, что большая ее часть доступна в книгах Google. У него есть приложение к AMG, и вам, вероятно, понадобится получить дополнительную информацию о MG из остальной части книги. «Многосеточный учебник» также является хорошей книгой.

Адамс
источник
3

Я бы предложил главу 8 «Многосеточного учебника» (2Ed) У. Л. Бриггса, В. Э. Хенсона и С. Ф. Маккормика. Это дает общее представление о некоторых важных понятиях, таких как алгебраическая гладкость и сильная зависимость. В нем также объясняется, как определить оператор интерполяции (также оператор грубой сетки) и как выбрать грубую сетку.

Бернардо М.Р.
источник
Бернардо, добро пожаловать scicomp! Ваш второй абзац больше похож на вопрос, чем на ответ. Не могли бы вы вырезать его из своего ответа и вставить в отдельный вопрос? Вопрос, который вы задаете во втором абзаце, является хорошим примером того типа вопросов, который нам нравится видеть scicomp.
Джефф Оксберри