Вложенное рассечение на регулярной сетке

9

При решении разреженных линейных систем с использованием методов прямой факторизации используемая стратегия упорядочения существенно влияет на коэффициент заполнения ненулевых элементов в факторах. Одной из таких стратегий упорядочения является вложенное рассечение. Мне интересно, возможно ли заранее придумать порядок вложенного рассечения, учитывая только параметры сетки (предположим, что квадратная разностная сетка M x N с разностями первого порядка).

Редактировать Я только что обнаружил, что есть код, который делает это: http://www.cise.ufl.edu/research/sparse/meshnd/

Виктор Лю
источник

Ответы:

8

Да. Я недавно написал код, чтобы сделать именно это.

Предположим, у вас есть NИкс×NYсетка, и что допустимо иметь листовые узлы с 100 вершинами. Затем можно определить рекурсивную функцию, аргументами которой являются:

  • размеры и смещения прямоугольного субдомена
  • указатель на массив, который будет хранить переупорядочение

Затем подпрограмма просто должна вычислить произведение локальных измерений, чтобы решить, является ли домен приемлемо малым, чтобы быть листом, и затем, если это так, записать натуральные индексы узла листа (скажем, NaTUрaL(Икс,Y)знак равноИкс+YNИкс для NИкс×NY сетка), в противном случае вырежьте наибольшее измерение поддоменов, рекурсируйте на левой и правой частях, а затем запишите натуральные индексы разделителя.

Джек Полсон
источник
Я предполагаю, что мой вопрос больше о: действительно ли вложенное рассечение просто рекурсивно разрезает пространство пополам? Кроме того, порядок размещения индексов границы перед каждой правой и левой половиной? Я никогда не нашел простого объяснения того, что происходит.
Виктор Лю
1
Да, вложенное рассечение очень просто, но вы сохраняете индексы границ после левой и правой половин. Суть заключается в том, чтобы убедиться, что эти два поддомена не связаны напрямую, поэтому для конечных различий важно учитывать размер вашего трафарета при принятии решения о том, насколько толстым должен быть разделитель. Я рекомендую вам прочитать обзор Лиу о мультифронтальном методе и установить связь, в которой каждый разделитель рассматривается как суперузел.
Джек Полсон
Ах да, я понял это вскоре после того, как я прокомментировал, а затем сделал редактирование. Спасибо за ссылку.
Виктор Лю