close

Вход

Забыли?

вход по аккаунту

?

Методы решения сеточных уравнений конечно-элементной аппроксимации пространственных течений.

код для вставкиСкачать
УЧЕНЫЕ
Том XLI
ЗАПИСКИ
ЦАГИ
2010
№3
УДК 519.63
МЕТОДЫ РЕШЕНИЯ СЕТОЧНЫХ УРАВНЕНИЙ
КОНЕЧНО-ЭЛЕМЕНТНОЙ АППРОКСИМАЦИИ
ПРОСТРАНСТВЕННЫХ ТЕЧЕНИЙ
А. В. ВОЛКОВ
Рассмотрены различные варианты решения систем сеточных уравнений, полученных
при конечно-элементной аппроксимации невязких и вязких течений газа. Изложен алгоритм
нового полиномиального многосеточного метода ускорения получения решений, являющегося расширением традиционного многосеточного алгоритма. Приведены примеры численного
решения пространственных задач невязкого обтекания сферы и турбулентного обтекания
крыла дозвуковым потоком вязкого газа. Приведены сравнения с результатами, полученными
методом конечного объема. На основании полученных данных сделан вывод об эффективности применения полиномиального многосеточного метода.
Ключевые слова: методы решения сеточных уравнений; многосеточный метод; метод
конечного элемента; метод Галеркина с разрывными базисными функциями.
Аппроксимация уравнений Навье — Стокса, описывающих течение вязкого газа, обычно
сводится к системе линейных или нелинейных сеточных уравнений. Количество уравнений и
неизвестных в них определяется количеством контрольных объемов (сеточных ячеек) и количеством степеней свободы в каждой ячейке. Получивший широкое распространение метод конечного
объема (МКО) для аппроксимации каждого из уравнений законов сохранения использует только
одну переменную в ячейке. В пространственном случае система уравнений Навье — Стокса содержит пять неизвестных компонент (например, плотность, три компоненты скорости, температура), поэтому аппроксимирующие сеточные уравнения содержат в каждой сеточной ячейке пять
переменных. Альтернативный метод аппроксимации, основанный на методе конечного элемента,
например метод Галеркина с разрывными базисными функциями (РМГ) [1, 2], базируется на множестве переменных в одной ячейке, количество которых определяется максимальной степенью
полинома, аппроксимирующего каждую компоненту решения в ячейке. Достижение приемлемой
точности расчета, как правило, осуществляется за счет использования большого количества
искомых неизвестных, которое достигается либо измельчением сеток в МКО или расчетом на более редких сетках в РМГ, но с использованием большого числа неизвестных в каждой ячейке.
Использование большого количества неизвестных в решаемой системе сеточных уравнений
приводит к известным сложностям в процессе поиска решения. Эффективный «решатель» есть
основа любого расчетного кода. Именно он, в основном, и определяет успех использования тех
или иных методов аппроксимации при решении практических задач.
Настоящая работа посвящена изучению возможных методов решения систем сеточных
уравнений, возникающих при аппроксимации уравнений Эйлера и Навье — Стокса конечноэлементным методом Галеркина с разрывными базисными функциями. В работе предложена новая эффективная комбинация ранее известных методов ускорения решения систем сеточных
уравнений, которая и была реализована в компьютерной программе решения пространственных
уравнений Навье — Стокса методом РМГ на неструктурированных гексаэдральных сетках.
Основу реализованного подхода составил так называемый полиномиальный многосеточный
метод. Традиционный многосеточный метод был предложен в 1961 г. в работе [3] и в настоящее
52
время получил широкое распространение для ускорения численного решения систем уравнений,
получающихся при аппроксимации МКО. Этот метод показал свою эффективность при решении
задач с использованием мелких сеток. В методе же конечного элемента, и в частности в РМГ, высокая точность достигается не за счет измельчения сетки, а за счет увеличения числа линейно независимых полиномов (базисных функций), используемых в ячейке, и соответствующего увеличения числа степеней свободы задачи. В последнее время философия построения многосеточного
метода была пересмотрена [4]. В целом ряде работ [5—8] метод был адаптирован к использованию в конечно-элементном методе аппроксимации течений. По аналогии с решением задачи на
последовательности измельченных сеток в методе конечного элемента решается задача на фиксированной сетке, но с использованием различного набора базисных функций. Модифицировалось и название метода — полиномиальный, или p-многосеточный метод. Латинская буква «p»
отражает теперь полиномиальный характер метода, а традиционный многосеточный метод с недавнего времени предваряется буквой «h», отражающей необходимость выполнения расчетов на
последовательности сеток с различным шагом h. В настоящей работе p-многосеточный метод
впервые применен для решения пространственных уравнений Эйлера и Навье — Стокса.
Ключевым алгоритмом любого многосеточного метода является так называемый сглаживатель — алгоритм подавления низкочастотной составляющей ошибки решения. В настоящей работе в качестве сглаживателя было предложено использовать локально-неявный подход, который
заметно ускорил процесс получения решения.
Эффективность разработанной схемы демонстрируется на примерах решения задач о невязком обтекании сферы и вязком турбулентном обтекании крыла.
1. Явный алгоритм поиска решений. Система сеточных уравнений, аппроксимирующих
уравнения Эйлера или Навье — Стокса, может быть записана в виде [1]:
M
Δq
+ R ( q ) = 0.
Δt
(1.1)
Здесь q — искомый вектор решения, R ( q ) — вектор-функция невязки решаемых уравнений или результат пространственной аппроксимации законов сохранения без учета производной
решения по времени. При нахождении стационарного решения невязка принимает нулевое значение. При аппроксимации методом конечного объема диагональная матрица M содержит объемы ячеек на главной диагонали. В РМГ это блочно-диагональная матрица, состоящая из интегралов от произведений различных базисных функций элемента.
Явный метод решения основывается на оценке вектора невязки на текущем временном
слое n:
(q
M
n +1
− qn
Δt
) + R q = 0.
( )
n
(1.2)
Простейший алгоритм решения, применяемый в современных CFD-пакетах, как правило,
базируется на методе Рунге — Кутта и выглядит следующим образом:
q (0) = q n
( )
q (1) = q (0) − α1Δt M −1R q(0)
..............................
(
q ( k ) = q(0) − α k Δt M −1R q(
(1.3)
k −1)
)
q n+1 = q ( k ) .
Обычно используют четырех- или пятишаговый алгоритм. Коэффициенты α подбираются
из условия устойчивости численной схемы и максимизации коэффициента подавления ошибки.
53
CFLl
также ограничивается условием устойчивости схемы и
V
определяется допустимым числом Куранта CFL, характерным размером сеточной ячейки l и характерной скоростью распространения возмущения V. Например, пятишаговая схема с коэффициентами α1 = 1 5, α 2 = 1 4, α3 = 1 3, α 4 = 1 2, α5 = 1 обеспечивает пятый порядок точности по
Величина шага по времени Δt =
времени при относительно невысоком максимальном числе CFL = 1. Другая схема ( α1 = 0.0695,
α 2 = 0.1602, α3 = 0.2898, α 4 = 0.5060, α5 = 1) обладает лишь первым порядком точности по
времени, но при этом допускает использование более высоких чисел Куранта (CFL = 1.5—2.0).
Методы Рунге — Кутта достаточно хорошо изучены. Подбор коэффициентов для решения
конкретных задач осуществляется с использованием специального математического аппарата.
Применительно к решению сеточных уравнений, полученных аппроксимацией РМГ, наиболее
общая форма записи дается следующей формулой:
q(0) = q n ,
i
q( ) =
∑ ( αi k q( k ) + βi k Δt M −1R (q(k ) ) ),
i −1
i = 1,..., m,
(1.4)
k =0
q n +1 = q ( m ) .
С целью минимизации возникновения в решении нефизичных осцилляций было разработано семейство так называемых оптимальных TVD-схем Рунге — Кутта [9], т. е. схем с наибольшим допустимым числом Куранта, обеспечивающим при этом сохранение по времени полной
вариации решения:
TV ( q ( x ) ) =
∞
∫
dq ( x )
−∞
dx
(
)
dx = TV q 0 ( x ) .
Например, оптимальная TVD-схема второго и третьего порядка точности, впервые предложенная в [10], имеет следующие коэффициенты (см. табл. 1).
Таблица 1
Коэффициенты схемы Рунге — Кутта
αik
Порядок
2
3
βik
1
1/2
1/2
1
0
1/2
1
3/4
1/3
3/4
0
1
0
0
1/4
0
2/3
максимальный CFL
1
1
2/3
Реализация оптимальных TVD-схем Рунге — Кутта более высоких порядков точности требует использования сопряженных операторов невязки. Такой оператор соответствует оператору
невязки с измененным знаком перед диссипативным членом. Ниже приведен пример шестишаговой TVD-схемы Рунге — Кутта пятого порядка точности [9] с максимально допустимым числом
7
Куранта CFL = :
30
( )
1
1
q( ) = q (0) + L q (0) ,
2
( )
3
1
1
2
q( ) = q (0) + q(1) + L q (1) ,
4
4
8
54
( )
( )
( )
3
1
1
1
1
1
3
q( ) = q(0) − L q (0) + q (1) − L q (1) + q (2) + L q(2) ,
8
8
8
16
2
2
( )
( )
( )
( )
1
5
1
13
1
1
1
9
4
q( ) = q (0) − L q(0) + q(1) − L q (1) + q (2) + L q (2) + q (3) + L q (3) ,
4
64
8
64
8
8
2
16
( )
( )
89 537 (0) 2 276 219
407 023 (1) 407 023
1511 (2)
5
q( ) =
q +
L q (0) +
q +
L q (1) +
q +
2 880 000
40 320 000
2 880 000
672 000
12 000
+
( )
( )
(1.5)
( )
1511
87 (3) 261
4
8
L q (2) +
q −
L q (3) + q(4) + L q (4) ,
2800
200
140
15
7
( )
( )
( )
( )
4
1
8
8
2
14
7
6
q( ) = q(0) + L q (1) − L q(1) + q(3) + L q(3) + q(5) + L q (5) .
9
15
45
45
3
15
90
Здесь L ( q ) = ΔtM −1R ( q ) — вектор-функция невязки, а L ( q ) = ΔtM −1 R ( q ) — вектор-функция сопряженной невязки.
Схема (1.5) была апробирована в задаче, решение которой требует одновременного использования высокого порядка точности как по времени, так и по пространству. Рассмотрим цилиндрическую акустическую волну, распространяющуюся от начала координат и имеющую гауссовский характер распределения давления в начальный момент времени:
R2
⎛
−
2
⎜
p0 = p∞ ⎜1+ ε2 r0
⎜
⎝
⎞
⎟
⎟,
⎟
⎠
ε = 0.001,
r0 = 0.02,
R 2 = ( x − 0.5 ) + ( y − 0.5 ) .
2
2
Задача имеет аналитическое решение [11]:
k2
⎛
⎞
∞
−
ε
⎜
4
α
p ( R, t ) = p∞ 1 +
J ( kR ) cos ( ckt ) ke dk ⎟ ,
⎜⎜ 2α 0
⎟⎟
0
⎝
⎠
∫
где с — скорость звука; J 0 ( x ) — функция Бесселя первого рода; α =
ln ( 2 )
( r0 )2
.
Аналитическое решение дает возможность оценить точность расчетной схемы в любой момент времени. Разница точного и численного значений давления была получена в
норме L2 на вложенной последовательности
структурированных сеток в момент времени
t = 0.4 c. Аппроксимация по пространству выполнена с использованием РМГ с максимальной степенью полинома базисной функции
K = 4, что теоретически должно обеспечивать
пятый порядок точности. Расчеты выполнялись
как с использованием обычной схемы (1.3), так
и TVD-схемы Рунге — Кутта (1.5) с вычислением сопряженной невязки. Сравнительные ре- Рис. 1. L норма точности решения задачи о распростра2
зультаты оценки порядка точности численных нении цилиндрической волны в зависимости от густоты
схем представлены в табл. 2 и графически расчетной сетки. Сравнение обычной (пунктирная линия)
на рис. 1. Видно, что только использование и TVD (сплошная) Р-K схем интегрирования по времени
55
Таблица 2
Сетка
Число
степеней
свободы
10×10
15×15
20×20
25×25
30×30
40×40
50×50
1 500
3 375
6 000
9 375
13 500
24 000
37 500
Обычная Р-К схема
L2 норма
ошибки
1.27e-1
6.59e-2
2.81e-2
1.19e-2
4.91e-3
1.23e-3
8.51e-4
TVD Р-К схема
Порядок
точности
L2 норма
ошибки
Порядок
точности
1.62
2.97
3.85
4.85
4.83
1.64
1.43e-1
7.94e-2
3.50e-2
1.48e-2
5.69e-3
9.40e-4
2.80e-4
1.45
2.84
3.86
5.24
6.26
5.43
TVD-схемы обеспечило более высокий порядок точности, превышающий теоретический пятый
на самой мелкой сетке.
Явная схема интегрирования сеточных уравнений используется и для численного решения
стационарных задач. Для ускорения получения решения используется так называемый локальCFL l
ный шаг по времени, т. е. величина Δt =
в разных ячейках различна и определяется ее разV
мерами и характерной локальной скоростью распространения возмущений. Отметим, что при
решении нестационарных задач шаг по времени в численной схеме один для всех ячеек и ограничивается размерами минимальной ячейки и максимальной скоростью распространения возмущений. Число Куранта в явной схеме ограничивает скорость сходимости к стационарному решению. Поэтому использование таких схем требует большого количества итераций и редко применяется для расчета вязких течений при больших числах Рейнольдса.
2. Неявный алгоритм поиска решений. Неявный алгоритм решения теоретически допускает использование бесконечно больших чисел Куранта. Один из простейших вариантов неявной
схемы требует оценки невязки в уравнении (1.1) на следующем n + 1 временном слое:
(q
M
n +1
− qn
Δt
) + R q = 0.
( )
n +1
(2.1)
После разложения невязки в ряд Тейлора
(q
M
n +1
− qn
Δt
) + R q + ∂R q
( ) ∂q (
n
q
n
n +1
)
− qn = 0
поправка к вектору решения находится путем решения следующей системы линейных уравнений:
⎡ MV
∂R
max
⎢
+
∂q
⎢⎣ l CFL
⎤
⎥ q n +1 − q n = −R q n
n⎥
q ⎦
(
)
( )
(2.2а)
или ввода соответствующих обозначений:
Ax = b.
(2.2б)
При малых числах Куранта вклад диагональных членов в матрицу A играет доминирующую
роль. При этом система уравнений (2.2), являясь по существу явной схемой (1.2), легко разрешается с помощью итерационных методов решения систем линейных уравнений. И напротив, рост
числа Куранта приводит к потере доминирования главной диагонали и, следовательно, к увеличению жесткости матрицы A с вытекающими отсюда сложностями решения систем линейных
уравнений.
56
Оптимальный выбор числа Куранта во многом определяет скорость сходимости итерационного процесса поиска решения. Выбор этого числа может быть осуществлен в зависимости от
демпфирующего фактора ω. Коэффициент ω является параметром, который используется при
определении решения на новом временном слое после решения уравнения (2.2б):
q n +1 = q n + ωx; 0 < ω < 1.
(2.3)
Новое решение должно быть физически корректно. Например, локальные величины давления и температуры должны быть положительны. Если в какой-либо ячейке это условие не выполняется, то величина коэффициента ω уменьшается. Другое условие на коэффициент ω требует
уменьшения L2 нормы новой невязки. Иногда для поиска оптимального коэффициента ω находят промежуточное значение L2 нормы невязки при половинном шаге ω = 0.5. Предполагая
квадратичную зависимость L2 нормы невязки от параметра ω, легко найти его наилучшее значение.
Процедуру расчета начинают с малых чисел Куранта. Затем на следующем шаге по времени
число Куранта определяется в соответствии с соотношением
CFL new = CFLold 2(
2ω − 1)
.
(2.4)
Таким образом, предполагается, что при большом значении параметра ω > 0.5 задача хорошо разрешается и число Куранта может быть увеличено. И напротив, проблемы поиска нового
решения, приводящего к уменьшению L2 нормы новой невязки, отражены при значении параметра ω < 0.5, что автоматически приводит к уменьшению числа Куранта на следующей итерации.
Решение системы линейных уравнений, как правило, осуществляется обобщенным методом
минимальных невязок (GMRES [12]). Для ускорения расчета используют предобуславливатель P — легко обратимую матрицу, умножение на которую снижает жесткость решаемой линейной системы уравнений:
P ≈ A; AP −1 = B ≈ I.
(2.5)
Здесь I — единичная матрица. Введя новый вектор неизвестных y = Px, имеем следующую, легко разрешимую систему линейных уравнений с правым предобуславливателем:
AP −1 Px = By = b,
(2.6)
решение которой дает возможность получить искомый вектор поправок с помощью простого
матрично-векторного произведения:
x = P −1y.
В настоящее время предложено большое количество способов построения предобуславливателей, большую часть из которых можно найти в монографии [13].
Широкое распространение получили предобуславливатели, построенные на основе LU факторизации матрицы A [14]. Предобуславливатель P = LU = A идеален, но его построение обходится дороже, чем непосредственное прямое решение системы (2.2). Известно, что места расположения ненулевых элементов (портрет) матриц L и U, повторяя внешний контур портрета матрицы A , внутри этого контура полностью заполняют матрицы L и U вплоть до главной диагонали. Таким образом, количество ненулевых элементов этих матриц значительно превышает эту
величину в основной матрице. Как результат, полная факторизация требует огромных затрат как
памяти, так и количества операций, необходимых для вычисления каждого элемента.
Неполная LU-факторизация нулевого уровня (которая обозначается как ILU[0]) оперирует
с элементами, расположенными в том же портрете, что и в основной матрице. Это, с одной стороны, заметно сокращает использование компьютерных ресурсов, а с другой, позволяет построить
57
эффективный предобуславливатель. Рассматривают также заполненные варианты портретов факторизированных матриц ILU[1], ILU[2] и т. д., портреты которых больше, чем ILU[0], но существенно меньше, чем в случае полного LU разложения. Существуют и более усложненные алгоритмы, когда добавление нового элемента в предобуславливатель осуществляется только при
значимом его воздействии на результат [14].
Отметим, что в настоящий момент вычислитель освобожден от необходимости программировать эти алгоритмы. Можно свободно воспользоваться одним из современных пакетов программ, содержащих основной набор предобуславливателей и методов решения систем линейных
уравнений. Одним из таких известных пакетов является PETSc [15]. Его отличительная особенность заключается в способности выполнения алгебраических операций с использованием многопроцессорной техники.
Неявный метод решения систем сеточных уравнений весьма эффективен, но он требует
грандиозных затрат оперативной памяти компьютера, необходимой для хранения матрицы Якоби
невязки. К значительной экономии приводит использование безматричной формы метода
GMRES [16]. Алгоритм решения требует использования не самой матрицы A, а только результата матрично-векторного произведения Ap, где p — некий вектор. Если к невязке R добавить
слагаемые, соответствующие производной решению по времени, и определить функцию расширенной невязки
F (q) =
MVmax
q + R (q) ,
l CFL
то результат матрично-векторного произведения может быть записан так:
Ap ≈ Lim
ε→0
F ( q + εp ) − F ( q )
ε
.
(2.7)
При этом основные затраты оперативной памяти приходятся лишь на хранение матрицы B
в (2.5).
Эффективность неявного метода решения была апробирована в задаче расчета многоэлементного профиля на последовательности адаптивных сеток [1]. Фрагменты одной из сеток представлены на рис. 2. Отметим, что в данном примере гладкость изменения форм и размеров соседних ячеек неудовлетворительна с точки зрения МКО. Однако используемый в настоящей работе
РМГ не теряет точности даже на таких высокоанизотропных сетках. Эта особенность РМГ
в сравнении с МКО была проанализирована в работе [17]. Отметим, что решение нелинейных аппроксимирующих уравнений на таких сетках требует использования очень эффективных методов, в частности неявной схемы, которая и была успешно использована в [1].
Применение полностью неявных алгоритмов, описанных выше, требует неоправданно высоких затрат оперативной памяти. Например, расчет обтекания аэродинамической конфигурации
на самой густой адаптивной сетке (см. рис. 2), содержащей более 70 тыс. ячеек, потребовал более
10 Гб оперативной памяти. Отметим, что количество переменных в РМГ значительно превышает
количество ячеек. Так, в упомянутой работе количество переменных превышало 200 тыс. Поэто-
Рис. 2. Фрагменты сильноанизотропной адаптивной сетки около трехэлементной конфигурации
58
му решение практически важных пространственных задач требует применения более экономичного многосеточного метода.
3. Многосеточный метод. Многосеточный метод является эффективным подходом к ускорению получения решения задач математической физики. Основная идея метода состоит в быстрой передаче информации между различными частями расчетной сетки. Для этой цели в классическом многосеточном методе решение определяющих уравнений выполняется на наборе последовательно измельченных сеток. Решение на грубой сетке используется для решения на мелкой
сетке и наоборот, решение на мелкой сетке используется как начальное приближение для решения на грубой сетке. При этом управляющие уравнения на грубой сетке модифицируются
с целью учета ошибки аппроксимации на крупных ячейках. На каждом сеточном уровне метод
Рунге — Кутта (или другой метод решения) обеспечивает эффективное подавление высокочастотных ошибок решения. Однако высокочастотные ошибки на сетке с крупными ячейками являются низкочастотными ошибками для мелкой сетки. Таким образом, малое количество переменных на грубой сетке дает возможность быстро разрешить все низкочастотные особенности течения. Перевод решения, полученного на грубой сетке, к решению на мелкой сетке позволяет ускорить передачу информации и обеспечить коррекцию низкочастотной составляющей основного
решения.
В методе конечного элемента и в том числе в РМГ решение в каждом элементе является линейной комбинацией базисных функций. Эта комбинация образует полиномиальную реконструкцию с максимальной степенью полинома K. Коэффициенты перед базисными функциями являются искомыми степенями свободы. Используются иерархические базисные функции. Это означает, что коэффициенты перед базисными функциями в разложении решения имеют ясный математический смысл, а именно, они отражают величину осредненного решения в ячейке,
величину градиента решения по трем направлениям, вторую производную решения и т. д. Таким
образом, при данном выборе базисных функций решение представляется в виде тейлоровского
разложения решения в ячейке.
Идеи полиномиального многосеточного метода для конечно-элементного подхода аналогичны идеям классического многосеточного метода. Уменьшение или увеличение максимального
порядка K полиномов базисных функций или, другими словами, изменение набора базисных
функций в элементе аналогично укрупнению или измельчению ячеек в сетке. Использование базисных функций низкого порядка (K = 0) позволяет быстро разрешить низкочастотную компоненту решения в ячейке и обеспечить коррекцию общего решения при максимальном наборе базисных функций.
В настоящей работе наибольший выигрыш в скорости сходимости получен при комбинировании традиционного многосеточного метода и p-многосеточного метода. В основе традиционного многосеточного метода использован агломерационный подход [18], реализованный в промышленном коде FINE™/Hexa, компании NUMECA Int [20]. Этот h-метод с агломерациями ячеек
применяется только на нижних многосеточных уровнях с использованием максимально простой
схемы аппроксимации (K = 0 — одна кусочно-постоянная функция). Затем на самой мелкой сетке
выполняется постепенное наращивание количества используемых базисных функций, т. е. используется p-многосеточный метод. Такое последовательное чередование p-уровней образует одну итерацию многосеточного метода.
3.1. Полиномиальный многосеточный метод для РМГ. В основе реализованного p-многосеточного метода лежит известная схема полной аппроксимации (FAS) [19], применяемая к решению нелинейных задач традиционным h-многосеточным методом.
Определяется последовательность уровней многосеточного метода l = 1,… , L, где уровень
l + 1 в сравнении с уровнем l имеет либо большее количество ячеек, либо большее количество базисных функций (степеней свободы). При применении традиционного сеточного измельчения
(h-измельчение) используется последовательность вложенных гексаэдральных сеток, генерируемая кодом HEXSTREAM (компании NUMECA Int. [20]) на основе алгоритмов агломерации. При
измельчении по степеням свободы (p-измельчение) используются наборы из следующих базисных функций.
59
Таблица 3
K=0
K=1
K=2
K=3
Базис набора
K=0
дополняется функциями:
Базис наборов
K = 0, 1
дополняется функциями:
Базис наборов
K = 0, 1, 2
дополняется функциями:
x, y, z
x2, y2 z2,
xy, xz, yz
x3, y3, z3,
x y, x2z, y2x,
2
y z, z2x, z2y, xyz
1
2
В табл. 3 базисные функции представлены условно. Фактически, осуществляется следующая нормировка базисных функций:
ϕ j (x) =
( x − x0 )α ( y − y0 )β ( z − z0 )γ
hxα hβy hzγ
;
j = 1,..., K f ;
0 ≤ α + β + γ ≤ K.
Здесь x0 , y0 , z0 — некая внутренняя точка гексаэдра, а hx , hy и hz — линейные размеры
ячеек вдоль соответствующих направлений.
Решение в каждой ячейке определяется через линейную комбинацию базисных функций:
q ( t , x, y , z ) =
Kf
∑ u j ( t ) ϕ j ( x, y , z ) ,
j =1
где K f — количество различных базисных функций, зависимое от максимальной степени полинома K:
K f (K ) =
( K + 1)( K + 2 )( K + 3) .
6
(3.1)
Решаемая система уравнений Навье — Стокса на самом верхнем (мелком) многосеточном
уровне L может быть записана в виде:
M
Δq L
+ R L ( q L ) = 0.
Δt
Решение данной системы уравнений может быть выполнено явным или неявным способами, описанными выше. Эти способы итерационные, и применение одной или нескольких итераций уменьшает лишь высокочастотную ошибку решения, но не позволяет решить задачу полностью. Поэтому данную операцию принято называть сглаживанием, а алгоритм, выполняющий
ее, — сглаживателем. Применение сглаживателя позволяет получить коррекцию решения на
верхнем слое L:
q L = q L + Δq L .
Запишем теперь сеточные уравнения на более грубом (расположенном ниже) многосеточном уровне l = L − 1:
M
Δq l
+ R l ( ql ) = Fl .
Δt
(3.2)
Появившаяся в уравнении правая часть призвана учесть ошибку, связанную с потерей точности аппроксимации при переходе на нижний уровень, где уравнения записываются либо на более грубой сетке, либо с использованием полиномов меньшей степени. Для определения вида
правой части рассмотрим эту систему уравнений на двух последовательных уровнях — уровне l
(уравнение (3.2)) и верхнем уровне l + 1:
M
60
Δql +1
+ R l +1 ( ql +1 ) = Fl +1.
Δt
(3.3)
Итерационная схема должна быть построена таким образом, чтобы решение, перенесенное
с более верхнего уровня на нижний ql = Ill +1 [ql +1 ] , также являлось решением уравнения на нижнем слое. Перепишем уравнение (3.2) в виде:
M
ΔIll +1 [ql +1 ]
Δt
(
)
+ R l Ill +1 [ql +1 ] = Fl .
(3.4)
После перенесения уравнения (3.3) на нижний уровень имеем:
⎡ Δq ⎤
Ill+1 ⎢M l +1 ⎥ + Ill+1 ⎡⎣ R l +1 ( ql +1 ) ⎤⎦ = Ill+1 [ Fl+1 ].
Δt ⎦
⎣
(3.5)
Вычитая из уравнения (3.4) уравнение (3.5), получим рекуррентное соотношение для правой части:
(
)
Fl = R l Ill +1 [ql +1 ] + Ill+1 ⎡⎣Fl +1 − R l +1 ( ql +1 ) ⎤⎦ .
(3.6)
На самом верхнем уровне уравнения не должны содержать правой части Fl = L = 0. Здесь
l
Il+
1 [⋅] — операторы переноса решения и невязки решения с высокого многосеточного
уровня на более низкий. Ниже приводятся алгоритмы для этих операторов. Низкочастотная
ошибка на верхнем многосеточном уровне представляется высокочастотной ошибкой на нижнем
многосеточном уровне и легко устраняется после применения одной или нескольких итераций
сглаживания. В результате имеем следующую поправку к решению:
Ill+1
[⋅] ,
0
ql = ql( ) + Δql ,
где начальное приближение для решения на более грубом уровне является результатом его переноса с верхнего уровня:
0
q(l ) = Ill +1 [ql +1 ].
Решение уравнения (3.2) повторяется на каждом из уровней, включая самый нижний — нулевой уровень, на котором используется самая грубая сетка и осуществляется кусочно-постоянное восполнение решения (используется одна базисная функция).
Затем на основе полученного набора решений осуществляется коррекция на верхних многосеточных уровнях в соответствии со следующим правилом:
q(l
новое )
= ql + q корр ,
{
(3.7)
}
q корр = Ill −1 ⎡ql −1 − Ill −1 [ql ]⎤ ,
⎣
⎦
где Ill−1 [⋅] является оператором переноса решения с нижнего на верхний многосеточный уровень.
⋅ скобках подвергаются осреднению по следующему правилу:
Выражения в фигурных {}
{θ}i =
∑ 12 ( θi + θn ) S f
f =1, N f
∑
Sf
.
f =1, N f
Здесь i — индекс элемента, а n — индекс соседнего элемента, отделенного от элемента i
стороной f (суммирование производится по всем сторонам элемента расчетной сетки); S f —
площадь соответствующей стороны.
61
Также введена процедура демпфирования поправки решения (3.7) в алгоритм:
q корр = qкорр D
(
ql
max ql ,
Ill −1
[ql ] , ql −1 , ε )
.
(3.8)
В выполненных расчетах коэффициент демпфирования D варьировался в диапазоне значений 0.25 ÷ 0.75, ε = 1 ⋅ 10−20.
Как было указано выше, многосеточные уровни l и l − 1 могут различаться либо разным количеством ячеек в сетке при одинаковом количестве базисных функций в реконструированном
решении, либо разным порядком полиномиальной реконструкции, но на фиксированной сетке.
В зависимости от этих обстоятельств варьируется и вид операторов переноса решения и невязки
решения.
3.2. H-измельчение. В случае перевода решения с мелкой сетки на крупную используются
следующие операторы:
Ill +1 [ql +1 ] =
∑{ql +1} Ωl +1 ;
∑ Ωl +1
Ill+1 [ R l +1 ] =
∑{Rl +1}.
Здесь суммирование производится по всем ячейкам уровня l + 1, содержащимся внутри
крупной ячейки уровня l; Ω — объем ячейки.
Обратный перевод решения с крупной сетки на мелкую осуществляется оператором первого порядка точности:
Ill +1 [ql ] = ql .
Это означает, что решения в каждой ячейке данной агломерации равны между собой и равны решению объединяющей их крупной ячейки.
3.3. P-измельчение. Операторы перевода решения между уровнями с разным количеством
базисных функций в реконструируемом решении получаются из условия равенства решений
ql =
M
∑ ulj ϕlj
и ql −1 =
j=1
m
∑ ulj−1ϕlj−1
в рассматриваемой ячейке. Количество различных функций
j =1
( )
(
)
в базисах определяется в соответствии с соотношением (3.1) M = K f K l , m = K f K l −1 . Равенство
решений
здесь
понимается
в
смысле
выполнения
интегральных
условий:
∫ ( ql − ql −1 ) ϕ j dΩ = 0, получаемых умножением разности решений на систему базисных функций
Ω
ϕ j уровня, на который переводят решение. Таким образом, операторы интерполяции Ill +1 и
сборки Ill +1 могут быть представлены в виде:
−1
Ill +1 [ql ] = ⎡⎣ M pp ⎤⎦ M pq ql ,
−1
Ill +1 [ql +1 ] = ⎡⎣M qq ⎤⎦ M qp ql +1.
(3.9)
Оператор (3.10) для перевода невязки в соотношении (3.6) может быть отличен от оператора (3.9):
−1
Ill+1 [ R l +1 ] = M qp ⎡⎣ M pp ⎤⎦ R l +1 .
62
(3.10)
Здесь M — массовые матрицы, каждый член которых определяется в соответствии со следующими правилами:
∫
,j
M iqq
= ϕli −1ϕlj−1d Ω,
Ω
∫
,j
M ipp
= ϕli ϕlj dΩ,
Ω
∫
,j
M iqp
= ϕli −1ϕlj dΩ,
Ω
∫
,j
M ipq
= ϕil ϕlj−1dΩ.
Ω
3.4. Стратегии полиномиального многосеточного подхода. Изложенный выше алгоритм
многосеточного метода использует множество параметров, настраиваемых при решении конкретных задач. В первую очередь необходимо определить оптимальное количество уровней многосеточного метода. Количество уровней p-измельчения равно K — максимальной степени полиномов базисных функций. Количество уровней вложенных сеток h-измельчения зависит от геометрической сложности и общего количества ячеек самой мелкой сетки. Предполагается, что
расчет начинается на самом мелком (верхнем) сеточном уровне, затем решение переводится на
уровень ниже, и после нескольких итераций сглаживания (путем итерационного решения уравнения (3.3)) решение опять переводится на уровень ниже, такая процедура выполняется вплоть
до достижения самого грубого уровня. На следующем этапе осуществляется коррекция на верхних многосеточных уровнях с использованием формулы (3.7). Весь этот полный цикл является
одной многосеточной итерацией (V-цикл). Данный алгоритм допускает варьирование как типа
сглаживателя (явный или неявный метод), так и количества итераций применения сглаживателя и
коэффициента демпфирования в выражении (3.8). В проведенных численных экспериментах на
верхнем уровне использовалась одна итерация сглаживания. По мере спуска к нижнему уровню
число итераций увеличивалось на единицу.
В случае расчета некоторых сложных течений полный V-цикл многосеточного метода начинался после получения начального приближения. На первом этапе решение получалось на самой грубой сетке. Это решение являлось начальным приближением к решению на следующей
сетке более высокого уровня. При этом уже задействовался алгоритм многосеточного метода, содержащий всего два уровня. Далее процедура повторялась с привлечением следующего, третьего
уровня. Таким образом, в расчет постепенно вовлекался все более высокий уровень.
Сглаживатель на основе явного метода является наиболее экономичным алгоритмом. Скорость сходимости итерационного процесса при неизменной памяти может быть увеличена за счет
применения неявного метода на грубых многосеточных уровнях. Использование неявного сглаживателя на самом мелком уровне дает весьма заметное ускорение сходимости, однако, приводит
к значительному перерасходу оперативной памяти. С целью экономии памяти в настоящей работе было предложено на верхнем многосеточном уровне использовать упрощенный неявный метод. Его суть состоит в том, что в процессе поиска решения уравнения (2.2) в матрице Якоби A
учитываются только диагональные блоки, отражающие взаимное влияние переменных внутри
только одного элемента. При этом отсутствует учет влияния соседних элементов. Для конечноэлементного метода высокого порядка точности такой подход наиболее эффективен, так как решение формируется во многом за счет большого количества переменных внутри ячеек. Поэтому
в настоящей работе этому подходу было дано название «локально-неявный» метод, которое, по
всей видимости, точнее передает суть этого численного алгоритма.
Примеры расчетов, приведенные в последующих разделах, выполнены РМГ с использованием локально-неявного сглаживателя в полиномиальном многосеточном подходе. Решение этих
задач без многосеточного метода было бы невозможно из-за необходимости привлечения чрезмерно больших компьютерных ресурсов. В случае использования явных схем требуется большое
количество итераций, что приводит к очень большому времени расчета. В случае неявных методов требуется привлечение больших объемов оперативной памяти. Показано, что решения, полученные на грубых сетках, совпадают с решениями, полученными с использованием МКО на традиционно мелких сетках.
4. Обтекание сферы невязким потоком. Серия расчетов обтекания сферы дозвуковым потоком сжимаемого газа при M = 0.15 была выполнена на последовательности вложенных сеток
с использованием кусочно-линейного, квадратичного и кубичного полиномиального базисов.
Фрагменты сеток, сгенерированных около четверти сферы, представлены на рис. 3. Элементами
неструктурированных сеток являются гексаэдры. В случае расчетов с высоким порядком точности (квадратичный и кубичный полиномиальные базисы) элементы, примыкающие к поверхности обтекаемого тела, имели одну криволинейную грань, отражающие кривизну сферы.
63
Рис. 3. Фрагменты вложенной последовательности сеток около сферы
Рис. 4. История сходимости. Эффект ускорения решения при использовании многосеточного алгоритма:
- - - - - — сглаживатель на основе метода Рунге — Кутта; — △ — — локальнонеявный сглаживатель
При расчете на каждой из сеток путем агломераций образовывалась система из трех вложенных сеток, решения на которых получались с использованием наименьшего кусочно-постоянного базиса. Далее уровни многосеточного алгоритма измельчались путем обогащения базиса,
как было описано ранее. Таким образом, расчеты РМГ c K = 3 (кусочно-кубический базис) выполнялись с использованием шестиуровневого алгоритма.
Типичная история сходимости (зависимость L2 нормы невязки решения от времени CPU)
представлена на рис. 4 для случая кусочно-квадратичной аппроксимации решения. Рисунок демонстрирует эффект ускорения решения при использовании многосеточного алгоритма. Здесь
штриховая линия представляет результат использования сглаживателя на основе метода Рунге —
Кутта, а сплошная линия с маркерами — результат использования более эффективного локальнонеявного сглаживателя. Отметим, что без применения многосеточного алгоритма при кусочнокубичном базисе получение решения в разумное время становится невозможным.
Использованный решатель позволил надежно рассчитать коэффициент сопротивления сферы на всей последовательности сеток с использованием полиномов высокого порядка. О качестве
полученных решений можно судить по рис. 5, где представлена зависимость величины коэффициента сопротивления от числа переменных задачи. Число переменных задачи на каждое уравнение определяется как произведение числа ячеек сетки на число переменных в каждой ячейке
(см. (3.1)). Известно, что в невязком течении величина сопротивления должна быть равна нулю.
Таким образом, отличие расчетного коэффициента сопротивления от нуля косвенно характеризует
64
качество расчетной схемы. Анализ результатов
показал, что скорость стремления к нулю коэффициента сопротивления по мере сгущения
сеток выше, чем 2K + 1, что говорит о достижении теоретически обоснованной [21] суперсходимости конечно-элементного метода.
На самой густой из использованных сеток, содержащей 8148 ячеек, при применении
кусочно-кубичного базиса для реконструкции
решения коэффициент сопротивления четверти
сферы составил величину 3.2 ⋅ 10−6. Получить
такой низкий коэффициент сопротивления методом конечного объема чрезвычайно затруднительно. Например, использование кода
FLUENT, даже на сетке в 240 000 узлов не позволило получить сопротивление меньше, чем
2.1 ⋅ 10−4.
5. Применение полиномиального многосеточного метода к расчету обтекания
крыла. P-многосеточный алгоритм был приРис. 5. Зависимость величины коэффициента сопротивлеменен также к расчету дозвукового турбулент- ния сферы от числа переменных в РМГ для кусочноного обтекания крыла LANN [22]. Одна из целинейного, квадратичного и кубичного базисов
лей расчета состояла в сравнении конечноэлементного РМГ на основе кусочно-линейных
базисных функций с методом конечного объема второго порядка точности при условии расчета
на сетках, обеспечивающих использование эквивалентного количества переменных.
Расчеты были выполнены на неструктурированных гексаэдральных сетках. Сетка с числом
элементов 190 213 ячеек была использована для РМГ, в то время как расчеты МКО выполнялись
на сетке с числом элементов 625 076. В обеих сетках первый слой точек располагался над обтекаемой поверхностью на расстоянии, обеспечивающем величину y+ ≈ 1. Некоторые фрагменты
крупной сетки представлены на рис. 6.
Использовались следующие условия для набегающего потока: M = 0.4, α = 0.6°,
Re = 7.17 ⋅ 106. Все расчеты были выполнены с моделью турбулентности Спаларта — Аллмараса.
Начальный коэффициент турбулентной вязкости на бесконечности был равен 5.
Решение в МКО [20] было получено с использованием трехуровневого многосеточного метода. В РМГ использовался четырехуровневый p-многосеточный метод. При этом решение на
первых трех уровнях (от грубой до мелкой сеток) получалось на базе РМГ с кусочно-постоян-
Рис. 6. Фрагменты неструктурированной гексаэдральной сетки около крыла LANN
65
Рис. 7. Фрагменты агломерированных сеток около крыла LANN
Рис. 8. История сходимости для МКО и РМГ
66
Рис. 9. Сравнение распределений давления в разных сечениях крыла LANN при расчете МКО на сетке 625 076 ячеек и
РМГ на сетке 190 213 ячеек
ными функциями. Затем на самой мелкой сетке решение на базе РМГ получалось с использованием кусочно-линейных базисных функций — четвертый многосеточный уровень. Фрагменты
агломерированных сеток, использованных на начальных уровнях многосеточного подхода, представлены на рис. 7. Типичная история сходимости L2 нормы невязки по итерациям для МКО и
РМГ представлена на рис. 8. Использование более грубой сетки в РМГ обеспечило меньшее количество многосеточных итераций и сравнимое расчетное время (~26 ч на персональном компьютере 2 ГГц). Это, в частности, свидетельствует об эффективности использованного многосеточного метода в РМГ.
Сравнение распределений давления для трех сечений крыла представлено на рис. 9. Видно,
что оба подхода обеспечивают примерно одинаковые результаты, несмотря на использование более грубой сетки в РМГ.
Заключение. В работе подробно описан алгоритм полиномиального многосеточного метода, использованного для численного решения сеточных уравнений, полученных в результате
аппроксимации уравнений Навье — Стокса методом Галеркина с разрывными базисными функциями на гексаэдральных неструктурированных сетках. Выполненные тестовые расчеты демонстрируют высокую эффективность применения полиномиального многосеточного метода для ускорения решения сеточных уравнений. Возможность использования различных подходов к сглаживанию ошибки решения на разных многосеточных уровнях позволяет находить разумный
компромисс между задействованной оперативной памятью и скоростью сходимости итерационного процесса.
Автор выражает признательность президенту компании NUMECA проф. Ч. Хиршу
(Ch. Hirsch) за предоставление промышленной программы метода конечного объема и помощь
в проведении настоящих исследований, а также С. В. Ляпунову за полезные дискуссии.
Работа частично выполнена за счет средств гранта РФФИ № 09-01-00243а.
ЛИТЕРАТУРА
1. В о л к о в А. В., Л я п у н о в С. В. Исследование эффективности использования
численных схем высокого порядка точности для решения уравнений Навье — Стокса и Рейнольдса на неструктурированных адаптивных сетках // ЖВМ и МФ. 2006. Т. 46, № 10,
с. 1894 — 1907.
2. В о л к о в А. В. Особенности применения метода Галеркина к решению пространственных уравнений Навье — Стокса на неструктурированных гексаэдральных сетках // Ученые записки ЦАГИ. 2009. Т. XL, № 6, с. 41—59.
3. Ф е д о р е н к о Р. П. Релаксационный метод решения разностных эллиптических
уравнений// ЖВМ и МФ. 1961. Т. 1, № 5, с. 922 — 927.
4. R ö n q u i s t E. V., P a t e r a A. T. Spectral element multigrid. I. Formulation and numerical results // J. of Scientific Computing. 1987. V. 2. N 4.
5. H e l e n b r o o k B. T., M a v r i p l i s D., Atkins H. L. Analysis of p-multigrid for continuous and discontinuous finite element discretizations // AIAA Paper 2003-3989, 2003.
6. Ж у к о в В. Т., Ф е о д о р и т о в а О. Б., Я н г Д. П. Итерационные алгоритмы
для схем конечных элементов высокого порядка // Матем. моделирование. 2004. Т. 16, № 7,
с. 117 — 128.
67
7. L u o H., B a u m J. D., L ö h n e r R. A fast, p-multigrid discontinuous Galerkin method
for compressible flows at all speeds // AIAA Paper 2006-110, 2006.
8. F i d k o w s k i K. J., O l i v e r T. A., L u J., D a r m o f a l D. L. p-Multigrid solution of
high-order discontinuous Galerkin discretizations of the compressible Navier — Stokes equations //
J. of Comp. Phys. 2005. V. 207, p. 92 — 113.
9. S h u C. W., O s h e r S. Efficient implementation of essentially non-oscillatory shockcapturing schemes// J. of Comp. Phys. 1988. V. 77, p. 439 — 471.
10. C o с k b u r n B. Discontinuous Galerkin methods for convection-dominated problems,
in High-Order Methods for Computational Physics, edited by T.Barth and H.Deconik, Lecture
Notes in Computational Science and Engineering, V. 9 — Berlin: Springer Verlag, 1999.
11. T a m C. K. W., W e b b J. C. Dispersion-relation-preserving finite difference schemes
for computational acoustics // J. of Comp. Phys. 1993. V. 107, p. 262 — 281.
12. S a a d Y. and S c h u l t z M. GMRES: A generalized minimal residual algorithm for
solving nonsymmetric linear systems // SIAM J. Sci. Statist. Comput. 1986. V. 7, p. 856 — 869.
13. S a a d Y. Iterative methods for sparse linear systems. Books — 1-st and 2-nd SIAM edition. Имеется в открытом доступе: http://www-users.cs.umn.edu/~saad/books.html
14. C h a p m a n A., S a a d Y., W i g t o n L. High-order ILU preconditioners for CFD
problems // International Journal for numerical methods in fluids. 2000. V. 33, p. 767 — 788.
15. http://www.mcs.anl.gov/petsc/petsc-as/
16. W i g t o n L., Y o u n g D. GMRES acceleration of computational fluid dynamics codes // AIAA Paper 85-1494, 1985.
17. P e t r o v s k a y a N. B., W o l k o v A. V. The issues of the solution approximation in
higher-order schemes on distorted grids // International Journal of Computational Methods. 2007.
V. 4, N 2.
18. M a v r i p l i s D. J. and V e n k a t a k r i s h n a n V. Agglomeration multigrid for twodimensional viscous flows // Computers and Fluids. 1995. V. 24, N 5, p. 553 — 570.
19. B r a n d t A. Multilevel adaptive computations in fluid dynamics // AIAA J. 1980. V. 18,
N 10.
20. www.numeca.be
21. B a r t h T. J. A posteriori estimation and mesh adaptivity for finite volume and finite
element method // Published in Springer series Lecture Notes in Computational Science and Engineering (LNCSE). 2004. V. 41.
22. M ü l l e r U. R., S c h u l z e B., H e n k e H. Computation of transonic steady and unsteady flow about LANN wing. Validation of CFD codes and assessment of turbulence models //
ECARP Report 58. Vieweg, 1996, p. 479 — 500.
_________________
Рукопись поступила 7/VII 2009 г.
68
Документ
Категория
Без категории
Просмотров
25
Размер файла
1 723 Кб
Теги
решение, уравнения, сеточных, метод, элементной, пространственной, конечно, течение, аппроксимация
1/--страниц
Пожаловаться на содержимое документа