Введение

использование адаптивной сетки в численном анализе

В численном анализе адаптивное уточнение сетки (AMR) – это метод динамической адаптации точности решения в определенных чувствительных или турбулентных областях моделирования непосредственно в процессе вычислений. При численном решении задачи, как правило, используются заранее заданные дискретные сетки, например, в декартовой системе координат, которые формируют вычислительную сетку или "сетку". Однако многие задачи в численном анализе не требуют равномерной точности по всей вычислительной области и эффективнее решаются, если области, требующие высокой точности, уточняются только в этих областях. Адаптивное уточнение сетки обеспечивает такую динамическую среду для адаптации точности численных вычислений в зависимости от требований конкретной задачи в многомерных областях, нуждающихся в высокой точности, при этом остальные области вычисляются с меньшей точностью и разрешением. Этот динамический метод адаптации точности вычислений к конкретным требованиям был разработан Маршей Бергер, Джозефом Олигером и Филиппом Колеллой, которые предложили алгоритм динамического построения сетки, известный как локальное адаптивное уточнение сетки. С тех пор AMR нашло широкое применение, в частности, при изучении задач турбулентности в гидродинамике, а также при исследовании крупномасштабных структур в астрофизике, например, в Большом космологическом моделировании.

Развитие адаптивной очистки сетки

В серии статей Марша Бергер, Джозеф Олигер и Филипп Колелла разработали алгоритм динамической сетки, называемый локальным адаптивным уточнением сетки. Алгоритм начинается с того, что вся вычислительная область покрыта грубо разрешенной регулярной декартовой сеткой базового уровня. По мере продвижения вычислений отдельные ячейки сетки помечаются для уточнения, используя критерий, который может быть задан пользователем (например, сохранение постоянной массы на ячейку, что приводит к более высокому разрешению в областях с большей плотностью) или основан на экстраполяции Ричардсона. Затем все помеченные ячейки уточняются, то есть на грубую сетку накладывается более мелкая сетка. После уточнения отдельные участки сетки на одном фиксированном уровне уточнения передаются решателю, который вычисляет изменение этих ячеек во времени. Наконец, реализована процедура коррекции для корректировки переноса на границах между грубой и мелкой сетками, чтобы гарантировать, что количество любой сохраняющейся величины, выходящей из одной ячейки, точно соответствовало количеству, входящей в соседнюю ячейку. Если в какой-то момент уровень уточнения в ячейке становится избыточным, сетку высокого разрешения можно удалить и заменить более грубой сеткой. Это позволяет пользователю решать задачи, которые невозможно решить на однородной сетке; например, астрофизики использовали AMR для моделирования коллапсирующего ядра гигантского молекулярного облака до эффективного разрешения 131 072 ячеек на начальный радиус облака, что соответствует разрешению 1015 ячеек на однородной сетке. Продвинутое уточнение сетки было введено с использованием функционалов. Функционалы позволяют генерировать сетки и обеспечивать адаптацию сетки. Некоторые передовые функционалы включают функционалы Уинслоу и модифицированные функционалы Ляо.