Метод спектральных элементов: объединение гибкости МКЭ и точности рядов
Объединение гибкости и невероятной точности
Исторически в вычислительной математике сформировались два мощных, но противоположных подхода к решению дифференциальных уравнений в частных производных (УЧП). С одной стороны, метод конечных элементов (МКЭ) предлагает непревзойденную геометрическую гибкость, позволяя разбивать сложнейшие трехмерные детали на миллионы крошечных тетраэдров. Однако классический МКЭ обычно использует базисные полиномы низких порядков (первого или второго), что обеспечивает лишь алгебраическую (медленную) скорость сходимости. С другой стороны, спектральные методы, основанные на рядах Фурье или полиномах Чебышева, обеспечивают экспоненциальную (спектральную) скорость сходимости: при увеличении числа узлов ошибка падает стремительно, достигая машинной точности. Но классические спектральные методы жестко привязаны к простым прямоугольным или сферическим областям и пасуют перед сложной геометрией.
В 1984 году Энтони Патера предложил элегантный математический мост между этими двумя мирами, создав Метод спектральных элементов (Spectral Element Method, SEM). Идея метода заключается в том, чтобы взять лучшее от обоих подходов. Расчетная область со сложной геометрией разбивается на крупные макроэлементы (гексаэдры в 3D или четырехугольники в 2D), подобно тому, как это делается в МКЭ. Эта операция обеспечивает необходимую геометрическую гибкость алгоритма и возможность распараллеливания.
Внутри элемента: полиномы высоких порядков
Ключевое различие кроется в том, что происходит внутри каждого такого макроэлемента. Вместо того чтобы дробить его на тысячи мелких линейных кусочков (h-адаптация), метод спектральных элементов резко повышает степень интерполяционного полинома внутри самого элемента (p-адаптация). В качестве базисных функций используются не простые многочлены, а тензорные произведения ортогональных полиномов высоких порядков — обычно это многочлены Лежандра.
Узлы интерполяции внутри макроэлемента располагаются не равномерно, а сгущаются к границам элемента (так называемые узлы Гаусса-Лобатто-Лежандра). Такое неравномерное распределение математически необходимо для предотвращения катастрофических осцилляций на краях (феномена Рунге) при использовании полиномов 10-й, 15-й или даже 20-й степени. Матрицы масс и жесткости, возникающие при дискретизации по методу Галеркина на таких узлах, вычисляются с использованием спектрально-точных квадратурных формул Гаусса. Благодаря этому массовые матрицы получаются строго диагональными, что позволяет обращать их мгновенно, делая метод невероятно эффективным для нестационарных задач.
Применение в гидродинамике и глобальной сейсмологии
Метод спектральных элементов требует крайне гладких (аналитичных) решений внутри элементов, чтобы проявить свою экспоненциальную сходимость. Если в решении возникает разрыв или ударная волна, спектральная точность теряется. Поэтому SEM стал абсолютным индустриальным стандартом в двух специфических областях физики, где течения и волны обладают высокой степенью гладкости.
Первая область — это прямое численное моделирование (DNS) турбулентных течений несжимаемой жидкости при низких и средних числах Рейнольдса. Программный комплекс Nek5000, разработанный Полом Фишером в Аргоннской национальной лаборатории, использует метод спектральных элементов для расчета гидродинамики ядерных реакторов на крупнейших мировых суперкомпьютерах. Вторая область — это глобальная сейсмология. Распространение сейсмических волн от землетрясений сквозь мантию Земли идеально описывается упругими волновыми уравнениями. Комплекс SPECFEM3D использует метод спектральных элементов для создания высокоточных томографических моделей строения нашей планеты, так как алгоритм позволяет избежать численной дисперсии (искусственного искажения скорости волн), от которой сильно страдают обычные конечно-разностные схемы.