Разрывный метод Галеркина (DG): точные скачки в вычислительной гидродинамике
Когда непрерывность становится помехой
Классический метод конечных элементов (МКЭ) десятилетиями является непререкаемым стандартом в задачах строительной механики и теории упругости. Его успех базируется на использовании непрерывных базисных функций. Для расчета прогиба балки непрерывность перемещений между конечными элементами — это строгий физический закон. Однако при попытке применить этот же непрерывный базис к задачам газовой динамики, гиперболическим законам сохранения и расчету сверхзвуковых течений классический МКЭ потерпел катастрофическое фиаско. Причина кроется в природе самих физических явлений: сверхзвуковые потоки порождают ударные волны (скачки уплотнения), которые с математической точки зрения представляют собой строгие разрывы плотности и давления. Непрерывные полиномы МКЭ просто не могут адекватно описать разрыв функции; при попытке это сделать они генерируют гигантские нефизичные осцилляции по всей расчетной области, полностью разрушая вычислительный процесс.
Для решения этой фундаментальной проблемы математики Рид и Хилл в 1973 году (а позже Кокберн и Шу в 1980-х) разработали Разрывный метод Галеркина (Discontinuous Galerkin Method, DGM). Этот алгоритм представляет собой элегантный синтез двух миров: он берет теоретическую строгость и высокую точность полиномиальных аппроксимаций из метода конечных элементов и объединяет их с физически корректной обработкой ударных волн, заимствованной из метода конечных объемов (МКО).
Локальная база и численные потоки на границах
В методе DG расчетная область точно так же разбивается на элементы (тетраэдры или гексаэдры). Искомая функция внутри каждого элемента аппроксимируется полиномом высокой степени (как в спектральных элементах). Но главное и революционное отличие заключается в том, что мы больше не требуем непрерывности (сшивки) этих полиномов при переходе через границу от одного элемента к другому! На общей грани двух соседних кубиков функция имеет право иметь два совершенно разных значения. Вычислительные элементы становятся математически независимыми островами.
Но как эти острова обмениваются физической информацией (массой, энергией)? Здесь вступает в игру математический аппарат метода конечных объемов. При интегрировании по частям в слабой формулировке Галеркина возникают контурные интегралы по границам элементов. В эти интегралы подставляются так называемые «численные потоки» (Numerical Fluxes) — например, потоки Роу (Roe) или HLLC, которые получаются путем точного или приближенного решения локальной задачи Римана о распаде разрыва между соседними элементами. Этот поток действует как клей, который обеспечивает строгий закон сохранения массы и энергии во всей глобальной системе, при этом допуская наличие резких физических скачков прямо на границах ячеек.
Матрицы масс и метод Рунге-Кутты (RKDG)
Поскольку базисные функции жестко локализованы внутри каждого элемента и не перекрываются с соседями, глобальная матрица масс системы перестает существовать в привычном виде. Она распадается на множество крошечных блочно-диагональных матриц (размером с полиномиальный базис одного элемента). Эту маленькую матрицу можно обратить аналитически один раз до начала расчетов. В результате мы получаем чисто явную дифференциальную схему по времени, которая вообще не требует решения гигантских СЛАУ на каждом шаге!
Для интегрирования по времени используются специальные TVD (Total Variation Diminishing) методы Рунге-Кутты, которые математически гарантируют невозрастание ложных осцилляций. В сочетании с ограничителями наклона (Slope limiters), которые принудительно «срезают» возникающие локальные пики возле ударных волн, метод RKDG позволяет моделировать аэродинамику гиперзвуковых ракет, детонацию взрывчатых веществ и акустические шумы турбин с невероятной точностью (сходимость 4-го, 5-го и более высоких порядков) на совершенно неструктурированных сетках, обеспечивая идеальную масштабируемость на графических ускорителях (GPU).