Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования

advertisement
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
Санкт-Петербургский государственный морской технический университет
Факультет кораблестроения и океанотехники
Кафедра прикладной математики и математического моделирования
Разработка универсального программного
кода для решения трехмерных нестационарных
задач механики сплошных сред
Автор работы
Медведев А. А.
Научный руководитель
д.т.н., профессор, Рыжов В.А.
Санкт-Петербург
2010
Реферат
Настоящая
дипломная
работа
посвящена
математическому
моделированию нестационарных течений вязкой несжимаемой жидкости в
двумерных и трехмерных областях сложной.
Расчетный алгоритм построен с использованием метода искусственной
сжимаемости, что позволяет избежать возникновения неустойчивости решения
при наложении условия несжимаемости. Получение монотонного решения при
сохранении точности обеспечивается путем применения противопоточной схемы
высокого порядка для расчета конвективных слагаемых. Для пространственной
дискретизации определяющих уравнений применяется метод конечных объемов
на неструктурированных треугольных сетках. Нахождение конвективного и
диффузионного потоков через границу контрольной ячейки осуществляется при
помощи полиномиальной аппроксимации произвольного порядка точности на
неструктурированных сетках.
Для дискретизации по времени в общем случае используется неявная
схема второго порядка. При расчете нестационарного течения применяется метод
двойных шагов по времени. Результирующая система линейных уравнений
решается методом бисопряженных градиентов.
Проанализировано влияние порядка аппроксимации слагаемых уравнений
Навье-Стокса на точность вычислений и устойчивость решения. Верификация
расчетного метода показала удовлетворительное соответствие полученных
результатов расчета для различных режимов течения в двумерных областях с
известными и расчетными данными.
Оглавление
ОСНОВНЫЕ ОБОЗНАЧЕНИЯ.......................................................................................... 5
ВВЕДЕНИЕ ........................................................................................................................ 6
КРАТКИЙ ОБЗОР МЕТОДОВ ВЫЧИСЛИТЕЛЬНОЙ ГИДРОДИНАМИКИ .................... 7
1.1
Математическая модель движения жидкости ................................................................. 7
1.1.1 Уравнения движения сплошной среды ................................................................................ 7
1.1.2 Уравнения Навье-Стокса ...................................................................................................... 9
1.1.3 Динамическое подобие ........................................................................................................ 9
1.1.4 Приближения уравнений Навье-Стокса. Моделирование турбулентности ...................10
1.1.5 Выводы ................................................................................................................................14
1.2 Численные методы решения задач вычислительной гидродинамики ..........................14
1.2.1 Дискретизация определяющих уравнений .......................................................................14
1.2.2 Разбиение расчетной области на элементы .....................................................................16
1.2.3 Уравнения Навье-Стокса для несжимаемой жидкости ....................................................20
1.2.4 Методы решения СЛАУ .......................................................................................................23
1.2.5 Выводы .................................................................................................................................25
ЧИСЛЕННАЯ РЕАЛИЗАЦИЯ МЕТОДА РЕШЕНИЯ УРАВНЕНИЙ НАВЬЕ-СТОКСА. 26
2.1 Общая постановка задачи и основные допущения ...........................................................26
2.2 Особенности метода расчета .................................................................................................27
2.3 Дискретизация по пространству. Метод конечных объемов ..........................................27
2.3.1 Выражения для двухмерного случая .................................................................................28
2.3.2 Выражения для трехмерного случая .................................................................................31
2.3.3 Полиномиальная аппроксимация.......................................................................................33
2.3.3 Аппроксимация вязкого потока ..........................................................................................38
2.3.4 Граничные условия .............................................................................................................39
2.4 Неявная дискретизация по времени .....................................................................................40
2.5 Расчетные алгоритмы ..............................................................................................................42
2.5.1 Алгоритм расчета установившегося течения ..................................................................43
2.5.2 Алгоритм расчета нестационарного течения ...................................................................43
2.6 Программная реализация ........................................................................................................44
2.6.1 Система классов ..................................................................................................................44
2.6.2 Препроцессор ......................................................................................................................48
2.7 Основные этапы моделирования течения вязкой жидкости. ..........................................54
3 ВЕРИФИКАЦИЯ РАСЧЕТНОГО МЕТОДА ................................................................. 55
3.1 Оценка сходимости метода .....................................................................................................55
3.2 Результаты тестовых расчетов ..............................................................................................56
3.2.1 Задача обтекания двумерного кругового цилиндра в канале .........................................58
3.2.2 Задача обтекания трехмерного кругового цилиндра в канале ........................................62
3.2.3 Задача обтекания двумерного канала с обратным уступомError!
defined.
Bookmark
not
3.2.4 Задача обтекания трехмерного канала с обратным уступомError!
defined.
Bookmark
not
3.2.5 Задача обтекания двумерного квадратного цилиндра в неограниченной жидкости
.................................................................................................................. Error! Bookmark not defined.
3.2.6 Задача обтекания двумерного квадратного цилиндра в неограниченной жидкости
.................................................................................................................. Error! Bookmark not defined.
ЗАКЛЮЧЕНИЕ ................................................................................................................. 64
ЛИТЕРАТУРА .................................................................................................................. 65
Основные обозначения

v – вектор скорости
u , v, w , vi – компоненты вектора скорости
x, y, z , xi – декартовы координаты точки
t – физическое время
p – гидродинамическое давление

– плотность жидкости
 ij – тензор напряжений
 ij – тензор вязких напряжений

f – вектор напряженности массовых сил

n – единичный вектор нормали к поверхности
Re – число Рейнольдса
St – число Струхаля
 ,  t – молекулярная и турбулентная динамические вязкости
 ,  t – молекулярная и турбулентная кинематические вязкости
k – удельная кинетическая энергия турбулентности
 – скорость диссипации турбулентности
 – удельная диссипация турбулентности
 – параметр искусственной сжимаемости
 – искусственное время
S – площадь контрольной ячейки
q – вектор физических переменных в ячейке
 q – приращение вектора физических переменных в ячейке
R , F – вязкий и невязкий потоки через границу ячейки
 – ограничивающий множитель
C f – коэффициент местного трения
Cd , Ct – коэффициенты сопротивления и силы тяги
C l – коэффициент подъемной силы
Cm – коэффициент момента
C p – коэффициент затраченной мощности
Введение
Традиционно при определении гидродинамических характеристик объектов
совместно использовались аналитические и экспериментальные методы. С
появлением
быстродействующих
ЭВМ
стало
возможным
применение
вычислительных методов. Тенденция ко все более широкому использованию
численного моделирования во многом связана с экономическими соображениями.
За последние годы, вследствие роста производительности ЭВМ и развития
численных методов, стоимость расчета фантастически уменьшилась. Стоимость
же проведения экспериментов неуклонно растет.
Одной из характерных черт современных исследований в области
гидродинамики стала математизация физического познания. Проникновение
математических моделей, как инструмента исследований, вызвано не только
быстротой развития вычислительной техники, но в ряде случаев и трудностью
получения информации методами физического эксперимента. Развитие
математического моделирования неразрывно связано с совершенствованием
аппарата вычислительной математики, поэтому создание численных методов
(алгоритмов) решения задач нелинейной механики приобрело на сегодняшний
день столь важное значение.
Настоящая дипломная работа посвящена разработке численного метода
расчета нестационарных течений вязкой несжимаемой жидкости в двумерных и
трехмерных областях сложной геометрии.
На сегодняшний день существует большое количество программных
продуктов, позволяющих решать задачи вязкого обтекания. Однако говорить об их
универсальности, по видимому, пока преждевременно. Остается актуальной
разработка академических расчетных кодов, предназначенных как для решения
специальных прикладных задач (таких как низкорейнольдсовый режим течения),
так и общих задач аэрогидродинамики.
В работе решены следующие задачи:

построена математическая модель нестационарного обтекания тела потоком
вязкой несжимаемой жидкости,

получены уравнения потоков в трехмерном случае,

разработана система классов расчётной области и универсального решателя,

разработан кроссплатформенный препроцессор,

разработан графический постпроцессор,

разработан универсальный программный код для решения двухмерных и
трехмерных нестационарных задач механики сплошных сред (”SmartFlow 3.0”),

проведена верификация расчетного метода для различных модельных задач,
выполнено сравнение полученных расчетных результатов с известными
экспериментальными и расчетными данными.
Результаты
конференциях:


данной
работы
Балтийский экватор, 2010.
СНОО, 2010.
представлены
на
следующих
научных
Краткий обзор методов вычислительной гидродинамики
1.1 Математическая модель движения жидкости
Необходимым условием успешного решения задачи механики является
правильный выбор математической модели, адекватно отражающей исследуемые
динамические процессы.
При рассмотрении безвихревого обтекания тел потоком идеальной
жидкости возникает парадокс Эйлера-Даламбера - отсутствие каких-либо сил,
действующих на тело. Причиной его появления является пренебрежение
процессами вихреобразования в данной модели течения. Вихревые структуры в
потоке жидкости возникают под действием вязкости, поэтому для их исследования
необходимо использовать модели вязкой среды. Известны различные режимы
течения потоков вязкой жидкости - ламинарный, турбулентный и смешанный
ламинарно-турбулентный. Появляющиеся в таких потоках вихри имеют некоторые
отличия в своей динамике, обусловленные различием механизмов, действующих
в потоке.
1.1.1 Уравнения движения сплошной среды
Прежде, чем перейти к непосредственному численному моделированию
течений
вязкой
жидкости,
рассмотрим
основополагающие
уравнения,
описывающие это течение.
В гидромеханике применяют два основных метода изучения движения
жидкости - подходы Лагранжа и Эйлера. Любой жидкий объем можно представить
состоящим из большого числа жидких частиц. В соответствие с этим, к
исследованию движения жидкой частицы возможен такой же подход, как и в
теоретической механике. То есть, для каждой точки, однозначно определяемой
начальными координатами, в любой момент времени известны ее скорость и
ускорение. Такой метод хорош при рассмотрении задач диффузии, при описании
одномерных потоков. В более сложных случаях он приводит к громоздким
вычислениям. Метод предложен Лагранжем и носит его имя.
Метод характеристики движения, при котором в каждой точке задаются
функции зависимости характеристик течения от времени, но частицы теряют свою
индивидуальность, называется методом Эйлера. Например, для случая
нестационарного течения жидкости, поле скоростей задается в виде
𝑣⃗ = 𝑣⃗ (𝑥⃗, 𝑡)
Большинство
приборов
измеряют
характеристики
жидкости
в
фиксированном месте (датчик прибора неподвижен), то есть определяют
Эйлерову характеристику среды.
Все основные уравнения движения сплошной среды представляют собой
фундаментальные законы сохранения [10, 14]. Для вывода уравнений движения
жидкости обычно рассматривается малый контрольный объем и требуется, чтобы
для жидкости, протекающей через этот объем, выполнялись законы сохранения
массы и энергии и количества движения.
Согласно закону сохранения вещества, для произвольного неподвижного
объема Ω скорость изменения массы внутри него равна потоку массы через
поверхность 𝑆, ограничивающую этот объем. Уравнение закона сохранения массы
(уравнение неразрывности) для некоторого объема в инерциальной системе
координат, записанное в интегральной форме, имеет вид
∂
∫
∂𝑡 Ω
𝜌 𝑑Ω + ∫𝑆 (𝜌𝑣⃗, 𝑛⃗⃗) 𝑑𝑆 = 0
(1)
где 𝜌 -- плотность жидкости. Эквивалентное дифференциальное уравнение
в частных производных
∂𝜌
+ ∇ ⋅ (𝜌𝑣⃗) = 0
∂𝑡
(2)
То-же в координатной форме записи
∂𝜌
∂𝑡
+
∂𝜌𝑣𝑖
∂𝑡
=0
(3)
Для несжимаемой жидкости, учитывая, что плотность есть величина
постоянная (𝜌 = 𝑐𝑜𝑛𝑠𝑡 )
∂𝑣𝑖
∂𝑡
=0
(4)
В соответствие со вторым законом Ньютона, скорость изменения
количества движения равна сумме действующих сил. Уравнение закона
сохранения количества движения (уравнение динамики в напряжениях) для
некоторого объема, имеет вид
∂
∫
∂𝑡 Ω
𝜌𝑣⃗ 𝑑Ω + ∫𝑆 𝜌𝑣⃗(𝜌𝑣⃗, 𝑛⃗⃗) − 𝑛⃗⃗𝜎 𝑑𝑆 = ∫Ω 𝜌𝑓⃗ 𝑑Ω
(5)
где 𝜎 - тензор напряжений, 𝑓⃗ - вектор напряженности массовых сил.
Переходя к уравнениям в частных производных, получаем консервативную
(дивергентную) форму уравнения сохранения количества движения
∂(𝜌𝑣𝑖 )
∂𝑡
+
∂(𝜌𝑣𝑖 𝑣𝑗 )
∂𝑥𝑗
=
∂𝜎𝑖𝑗
∂𝑥𝑗
+ 𝜌𝑓𝑖
(6)
Эквивалентная неконсервативная (конвективная) форма
∂(𝜌𝑣𝑖 )
∂𝑡
+ 𝑣𝑗
∂(𝜌𝑣𝑖 )
∂𝑥𝑗
= 𝜌𝑓𝑖 +
∂𝜎𝑖𝑗
∂𝑥𝑗
В механике вязкой несжимаемой жидкости предполагается, что перенос
тепла происходит мгновенно в силу большой скорости передачи тепла в
несжимаемой жидкости, поэтому изменения температуры пренебрежимо малы. В
силу этого нет необходимости определять изменение термодинамического
состояния системы по балансу внутренней и механической энергий, и уравнение
сохранения энергии не используется.
В результате используются только уравнения, выражающие законы
сохранения массы (4) и количества движения (6). Эта система является
незамкнутой в силу неопределенности тензора напряжений. Для ее замыкания
вводятся гипотезы о связи компонентов тензора напряжений со скоростями
потока, то есть используются реологические соотношения.
1.1.2 Уравнения Навье-Стокса
Обобщенный закон Ньютона для вязкой жидкости [10] устанавливает
линейную связь между тензором напряжений и тензором относительных
скоростей деформации
∂𝑣
∂𝑣
2
∂𝑣
𝜎𝑖𝑗 = −𝑝 𝛿𝑖𝑗 + 𝜇 [(∂𝑥𝑖 + ∂𝑥𝑗 ) − 3 𝛿𝑖𝑗 ∂𝑥𝑘 ] , 𝑖, 𝑗, 𝑘 = 1,2,3
𝑗
𝑘
𝑖
(7)
где 𝑝 -- гидродинамическое давление, 𝜇 -- молекулярная динамическая
вязкость, 𝛿𝑖𝑗 -- дельта-функция Кронекера.
В случае несжимаемой жидкости, тензор напряжений выглядит следующим
образом
∂𝑣
∂𝑣
𝜇 (∂𝑥𝑖 + ∂𝑥𝑗 ) ,
𝑗
𝜎𝑖𝑗 =
при 𝑖 ≠ 𝑗
𝑖
−𝑝 + 2𝜇
∂𝑣𝑖
∂𝑥𝑖
,
при 𝑖 = 𝑗
(8)
{
Тензор напряжений часто разделяют на две части
∂𝑣
∂𝑣
𝜎𝑖𝑗 = −𝑝 𝛿𝑖𝑗 + 𝜇 (∂𝑥𝑖 + ∂𝑥𝑗 ) = −𝑝 𝛿𝑖𝑗 + 𝜏𝑖𝑗
𝑗
(9)
𝑖
где 𝜏𝑖𝑗 -- тензор вязких напряжений. Подстановка (8) в уравнения для
напряжений (6) дает известные уравнения Навье-Стокса
∇ ⋅ 𝑣⃗
+ 𝑣⃗ ⋅ ∇𝑣⃗
∂𝑡
⃗⃗
∂𝑣
=
=
0
1
⃗
𝑓 − 𝜌 ∇𝑝 + 𝜈Δ𝑣⃗
(10)
где, 𝜈 = 𝜇/𝜌 -- молекулярная кинематическая вязкость.
Для получения конкретных решений, при интегрировании системы (10)
должны быть использованы граничные, а в случае нестационарного движения --граничные и начальные условия. На твердых границах задаются условия
''непротекания'' и ''прилипания'' 𝑣⃗|𝑆 = 0. Начальные условия ставятся в задачах
нестационарного движения и представляют собой заданные в некоторый
начальный момент времени поля скоростей и давлений.
1.1.3 Динамическое подобие
Для того, чтобы наиболее оптимальным образом (с точки зрения
проведения минимального числа расчетов или экспериментальных наблюдений)
получить картину течений у тел подобной конфигурации, желательно
сгруппировать все параметры (такие как длина тела, скорость набегающего
потока и т. п.) в ряд безразмерных параметров [14]. Два потока динамически
подобны, если безразмерные числа, определяющие течения, равны.
Безразмерные переменные вводятся следующим образом
𝑥
𝑥𝑖∗ = 𝐿 𝑖 , 𝑡 ∗ =
0
𝑣0 𝑡
𝐿0
𝑣
, 𝑣𝑖∗ = 𝑣 𝑖 , 𝑝∗ =
0
𝑝−𝑝0
𝜌 𝑣02
Уравнения движения жидкости (10) в безразмерной координатной форме
принимают вид
𝑆𝑡
∂𝑣𝑖∗
+ 𝑣𝑗∗
∂𝑡 ∗
∂𝑣𝑖∗
∂𝑣𝑖∗
∂𝑥𝑗∗
1 ∂2 𝑣𝑖∗
=
𝑅𝑒
∂𝑥𝑗∗2
∂𝑝∗
𝑖
=
∂𝑥𝑖∗
1
− ∂𝑥 ∗ + 𝐹𝑟 2 𝑔𝑖
0
В данном выражении использованы следующие безразмерные параметры
𝑅𝑒 =
𝑣0 𝐿0
𝜈
,
𝐿0
𝑆𝑡 = 𝑣
0 𝑡0
,
𝑣
𝐹𝑟 = (𝑔𝐿 0)1/2
0
Здесь 𝑅𝑒 -- число Рейнольдса, 𝑆𝑡 -- число Струхаля и 𝐹𝑟 -- число Фруда
соответственно. Число Рейнольдса характеризует отношение инерционных сил к
вязким, и является критерием, определяющим этапы перехода от ламинарных
течений к турбулентным.
1.1.4 Приближения уравнений Навье-Стокса. Моделирование турбулентности
Основная трудность расчета потоков вязкой несжимаемой жидкости
частично связана с широким диапазоном изменения масштаба турбулентности.
Прямой расчет полных уравнений Навье-Стокса для трехмерного турбулентного
потока требует значительных вычислительных ресурсов и не под силу даже
существующим суперкомпьютерам. В этой связи, важную роль играет
турбулентная модель, позволяющая учесть влияние турбулентности в расчетах.
Вторая трудность в расчете вязкого потока связана с необходимостью
использования чрезвычайно мелких сеток при расчете течения в турбулентном
пограничном слое. Поскольку вычислительная устойчивость существующей схемы
решения непосредственно связана с размером минимальной ячейки, то, если не
принимать достаточно малый шаг по времени, возникают проблемы устойчивости
расчета. В результате, и увеличение разрешения и уменьшение шага по времени
при вычислениях влекут за собой резкое увеличение требуемых вычислительных
ресурсов.
Поэтому для решения задач гидродинамики применяются различные
подходы, основной целью которых является уменьшение ''вычислительной
стоимости'' методов решения уравнений Навье-Стокса при минимально
возможной потере точности.
Различают два основных подхода моделирования вязких течений
• Прямое численное моделирование (DNS) --- решение полных уравнений
Навье-Стокса.
• Моделирование с использованием осредненных уравнений НавьеСтокса, а именно: по времени (RANS), по пространству (LES), гибридные
модификации (DES).
Прямое численное моделирование: DNS
Среди известных методов численного моделирования трехмерных
турбулентных течений необходимо выделить прямое численное моделирование
турбулентности (DNS --- Direct Numerical Simulation of turbulent flows).
Метод DNS представляет собой прямое численное решение полной
нестационарной системы уравнений Навье-Стокса, при таком подходе
разрешаются все масштабы движения [22]. В результате возникает
необходимость
строить
чрезвычайно
мелкую
сетку
для
больших
пространственных областей. Известна следующая оценка числа узлов при
прямом моделировании турбулентности
𝑁𝐷𝑁𝑆 = 𝑂(𝑅𝑒 9/4 )
Для реальных чисел Рейнольдса порядка 106−8 число расчетных узлов
должно составлять 𝑁 = 1013−15 . То есть для использования DNS требуются
достаточно мощные вычислительные ресурсы, и на сегодняшний день
возможности применения метода ограничиваются лишь случаями достаточно
простых течений и весьма невысоких чисел Рейнольдса.
Метод моделирования крупных вихрей: LES
В методе моделирования крупных вихрей (LES --- Large Eddy Simulation)
осуществляется решение отфильтрованных по пространству уравнений НавьеСтокса и разрешеатся движение только крупных вихрей [31].
Метод основан на двух предположениях. Первое состоит в возможности
разделения поля скорости на движение крупных и мелких вихрей, причем
движение крупных вихрей может быть рассчитано отдельно, что связано с
достаточной
изотропностью
и
универсальностью
мелких
масштабов
турбулентного
движения.
Второе
предположение
--в
возможности
аппроксимации нелинейных взаимодействий между крупными и мелкими вихрями
только о крупным вихрям с использованием моделей подсеточного масштаба SGS
(SubGrid Scale models).
Для отделения крупноых масштабов от мелких, применяется операция
фильтрации, определяемая следующим образом
𝑓(𝑥⃗) = ∫ 𝑓(𝜉⃗) 𝐺(𝑥⃗, 𝜉⃗, Δ) 𝑑𝜉𝑑𝜂𝑑𝜁
(11)
где 𝐺 -- фильтрационная функция, Δ -- ширина фильтра, определяющая
наименьший масштаб турбулентности, допустимый фильтром. Наиболее
популярные и часто используемые фильтрационные функции --- Гаусса,
идеальный и ''top-hat'' фильтры.
Фильтр дает формальное определение процесса осреднения и отделяет
способные к разрешению масштабы от подсеточных. Фильтрация используется,
чтобы вывести уравнения для разрешимых масштабов. Для течения несжимаемой
жидкости отфильтрованные уравнения Навье-Стокса принимают следующую
форму
∂𝑣𝑖
=
∂𝑥𝑖
∂𝑣𝑖
∂𝑡
+
∂(𝑣𝑖 𝑣𝑗 )
∂𝑥𝑗
=
0
1 ∂𝑝
−𝜌
∂𝑥𝑖
−
∗
∂𝜏𝑖𝑗
∂𝑥𝑗
+𝜈
∂2 𝑣𝑖
∂𝑥𝑗2
(12)
Здесь воздействие мелкомасштабных структур на движение жидкости
представляется через тензор напряжений подсеточного масштаба
∗
𝜏𝑖𝑗
= 𝑣𝑖 𝑣𝑗 − 𝑣𝑖 𝑣𝑗
(13)
Среди применяемых подсеточных моделей можно выделить модель
Смагоринского, двухточечные замыкания, динамические модели, модели одого
уравнения [40].
Популярность метода моделирования крупных вихрей для проведения
расчетов сложных турбулентных течений с достаточно высокими числами
Рейнольдса объясняется тем, что он требует меньших вычислительных затрат по
сравнению с DNS. Общее соотношение количества узлов сетки для этих методов
определяется зависимостью
𝑁𝐿𝐸𝑆 ≈ 0,4()𝑅𝑒 1/4 𝑁𝐷𝑁𝑆
Необходимо отметить, что на сегодняшний день опробовано значительное
количество подсеточных моделей, фильтров, граничных условий и расчетных
схем. Несмотря на это, пока не ясны ни оптимальный вариант подсеточной
модели, ни обоснование выбора такого варианта. Тем не менее, LES является
перспективным направлением в развитии методов расчета турбулентных течений
и представляется весомой альтернативой DNS и RANS.
Уравнения осредненного движения: RANS
Как было отмечено, решение полных уравнений Навье-Стокса в
трехмерном пространстве при больших (турбулентных) числах Рейнольдса
остается на сегодняшний день довольно сложной задачей. Поэтому для описания
трехмерных течений часто используют осредненные по времени уравнения
Навье-Стокса. В турбулентном течении локальные давление и составляющие
вектора скорости изменяются во времени случайным образом. Основная идея
осреднения состоит в том, чтобы разделить в потоке стационарные и случайные
части.
Система уравнений Навье-Стокса для описания движения вязкой
несжимаемой жидкости при отсутствии массовых сил, использующая
консервативную форму записи уравнения изменения количества движения, может
быть представлена в скалярно-тензорной форме следующим образом
∂𝑣𝑖
∂𝑣𝑖
∂𝑡
∂𝑥𝑖
∂(𝑣𝑖 𝑣𝑗 )
+
∂𝑥𝑗
=
=
0
−
1 ∂𝑝
𝜌 ∂𝑥𝑖
+
1 ∂𝜏𝑖𝑗
(14)
𝜌 ∂𝑥𝑗
С учетом уравнения неразрывности, компоненты тензора напряжений
записываются так
1 ∂𝜏𝑖𝑗
𝜌 ∂𝑥𝑗
= 𝜈
∂2 𝑣𝑖
∂𝑥𝑗2
(15)
Согласно
подходу
Рейнольдса,
любые
мгновенные
значения
гидродинамических параметров потока представляются в виде суммы
осредненной по времени величины и ее пульсационной составляющей [4].
Фактически это означает, что гидродинамическая величина является случайной,
осреднение которой во времени дает математическое ожидание, а пульсационная
составляющая - дисперсию случайной величины. Обозначая осредненную во
времени величину ( ) , а пульсационную ( )′ , можно записать для давления,
составляющих скорости, и тензора напряжений следующие выражения
𝑝 = 𝑝 + 𝑝′,
𝑣𝑖 = 𝑣𝑖 + 𝑣𝑖′ ,
𝜏𝑖𝑗 = 𝜏𝑖𝑗 + 𝜏𝑖𝑗 ′
Следует отметить, что среднее значение, несмотря на интегрирование по
времени, может изменяться во времени. Это означает, что период
интегрирования 𝑇 должен быть малым по сравнению с характерным временем
нестационарного изменения величины. Кроме того, период осреднения
выбирается так, чтобы оно приводило к величине, не изменяющейся при
повторном осреднении.
𝑇
1
𝑣𝑖 (𝑡) = 𝑇 ∫0 𝑣𝑖 (𝑡) 𝑑𝑡
(16)
Применяя операцию осреднения по времени (16) к уравнениям системы
(46), с учетом уравнения неразрывности, получим
∂𝑣𝑖
=
∂𝑥𝑗
∂(𝜌𝑣𝑖 )
∂𝑡
+
∂(𝜌𝑣𝑖 𝑣𝑗 )
∂𝑥𝑗
0
∂𝑝
(17)
∂
= − ∂𝑥 + ∂𝑥 (𝜏𝑖𝑗 − 𝜌 𝑣𝑖′ 𝑣𝑗′ )
𝑖
𝑗
где 𝜌 𝑣𝑖′ 𝑣𝑗′ -- составляющие тензора напряжений Рейнольдса, или
рейнольдсовых напряжений. Они являются шестью дополнительными
неизвестными к гидродинамическим параметрам осредненного движения (𝑣𝑖 , 𝑝).
Таким образом, система уравнений и (17) является незамкнутой.
Вопрос замыкания полученной системы решается различными способами.
Простейший путь --- использование эмпирической информации о характеристиках
турбулентности, наиболее сложный --- заключается в выводе уравнений
относительно рейнольдсовых напряжений, где широкое применение получили
модели турбулентной вязкости
∂𝑣
∂𝑣
−𝜌 𝑣𝑖′ 𝑣𝑗′ = 𝜇𝑡 (∂𝑥𝑖 + ∂𝑥𝑗)
𝑗
(18)
𝑖
где 𝜇𝑡 -- турбулентная динамическая вязкость.
Используя зависимость (18) и опуская знак осреднения по времени,
уравнения Навье-Стокса в форме Рейнольдса (RANS --- Reynolds Averaged
Navier-Stokes equations) приводятся к виду
∇ ⋅ 𝑣⃗
+ 𝑣⃗ ⋅ ∇𝑣⃗
∂𝑡
⃗⃗
∂𝑣
=
=
1
−𝜌
0
∇𝑝 + ∇[(𝜈 + 𝜈𝑡 )∇𝑣⃗ ]
(19)
где 𝜈𝑡 = 𝜇𝑡 /𝜌 -- турбулентная кинематическая вязкость.
Само по себе уравнение (18) не вводит модели турбулентности, а только
характеризует структуру такой модели. При этом основной задачей является
определение коэффициента турбулентной вязкости 𝜈𝑡 . В отличие от
коэффициента молекулярной кинематической вязкости 𝜈 , коэффициент 𝜈𝑡
определяется состоянием турбулентности и не связан со свойствами жидкости.
Он может сильно изменяться от точки к точке пространства и в зависимости от
типа течения. Так, например, в зонах циркуляционного течения 𝜈𝑡 может на
несколько порядков превышать 𝜈.
1.1.5 Выводы
Исходя из особенностей описанных подходов, и учитывая имеющиеся
вычислительные возможности, в данной работе в качестве модели движения
вязкой несжимаемой жидкости выбраны осредненные по Рейнольдсу уравнения
Навье-Стокса.
В качестве замыкающей модели турбулентности, для представляющих
интерес режимов обтекания нестационарных движущихся объектов, выбрана
модель Спаларта-Аллмараса, относящаяся к классу низкорейнольдсовых. В
результате не возникает необходимости применения пристеночных функций, что
позволяет избежать связанных с ними сложностей при моделировании отрывных
течений.
1.2
Численные
гидродинамики
методы
решения
задач
вычислительной
1.2.1 Дискретизация определяющих уравнений
Выбор численной схемы дискретизации закона сохранения зависит от
формы в которой этот закон представлен [17].
В качестве примера рассмотрим модельное уравнение переноса величины
𝜑. Интегральная форма записи этого закона сохранения будет иметь вид
∂
∫
∂𝑡 Ω
𝜑 𝑑Ω + ∫𝑆 𝐹⃗ (𝜑) ⋅ 𝑛⃗⃗ 𝑑𝑆 = 0
(20)
Применяя теорему о дивергенции, и устремляя объем области Ω к нулю,
можно перейти к дифференциальной форме записи
∂
∂𝑡
𝜑 + ∇ ⋅ 𝐹⃗ (𝜑) = 0
(21)
Домножая это выражение на произвольную функцию 𝜓 и интегрируя по
частям, можно получить вариационную форму закона сохранения
∂
∫ 𝜓𝜑 𝑑Ω − ∫Ω ∇𝜓 ⋅ 𝐹⃗ (𝜑) 𝑑Ω + ∫𝑆 𝜓𝐹⃗ (𝜑) ⋅ 𝑛⃗⃗ 𝑑𝑆 = 0
∂𝑡 Ω
(22)
Дискретизация дифференциальной формы записи осуществляется при
помощи
конечно-разностных
методов.
Интегральная
форма
записи
дискретизируется при помощи метода конечных объемов, а вариационная форма
--- при помощи метода конечных элементов.
2.1.1 Метод конечных разностей: FDM
Метод конечных разностей (FDM --- Finite Differences Method) является
одним из самых первых и самых простых методов решения дифференциальных
уравнений, особенно в случае его использования в задачах с простой геометрией.
Наиболее часто метод применяется на регулярных сетках, когда линии
координатной сетки служат локальными координатными линиями. В методе
конечных разностей исходное дифференциальное уравнение аппроксимируются
системой линейных алгебраических уравнений, где неизвестными являются
значения переменных решения в узлах сетки. При этом Каждое слагаемое
исходного дифференциального уравнения представляется соответствующим
конечно-разностным
отношением.
В
результате
получается
система
алгебраических уравнений относительно неизвестных узловых значений.
В принципе, метод конечных разностей может быть применен к любому
типу сетки. На регулярных сетках метод конечных разностей очень прост и
эффективен. Особенно просто в этом случае получить схемы более высокого
порядка точности. Недостатком конечно-разностных методов является то, что
законы сохранения не учитываются без специальной заботы об этом. Кроме того,
имеет место ограничение по сложности геометрии расчетной области.
Метод конечных объемов: FVM
Метод конечных объемов (FVM --- Finite Volume Method) представляет
собой главный способ решения связанных уравнений переноса импульса и
турбулентности [22].
В отличие от метода конечных разностей, данный метод использует
формулировку уравнений в интегральной форме. Расчетная область разбивается
на определенное количество контрольных объемов (ячеек), каждому из которых
сопоставляется неизвестная величина, представляющая собой среднее значение
переменной по этому объему. Для того, чтобы получить алгебраическое
уравнение, соответствующее интегральному, записанному для некоторой
контрольной ячейки, необходимо необходимо осуществить два этапа
аппроксимации
• Приближенные значения интегралов, входящих в уравнение, при
помощи квадратурных формул, выражаются через значения подынтегральных
выражений в точках границы.
• Значения переменных в точках границы ячейки интерполируются по их
значениям, заданным в узловых точках.
Интегральное уравнение выполняется как для каждого отдельного
контрольного объема в отдельности, так и для расчетной области в целом. Таким
образом метод конечных объемов обладает свойством глобального сохранения,
что является важным преимуществом этого метода.
Метод конечных объемов может применяться с любым типом сетки, так что
он применим для сложных геометрий. Сетка определяет только границы
контрольного объема и не нуждается в привязке к системе координат. По
сравнению с методом конечных элементов, метод конечных объемов более
приемлем для большинства программистов, менее сложен с математической
точки зрения и требует меньшей памяти компьютера при том же числе расчетных
узлов.
Метод обладает преимуществами несложного программирования,
математической простоты и физической адекватности. Вследствие этих
достоинств, большинство разработанных коммерческих программ численного
решения задач гидродинамики используют метод конечных объемов.
Метод конечных элементов. FEM
Метод конечных элементов (FEM --- Finite Element Method) во многом
подобен методу конечных объемов [20]. Область разбивается на раздельные
объемы, или конечные элементы, которые в общем случае являются
неструктурированными. В двумерном пространстве это обычно треугольники или
четырехугольники, а в трехмерном наиболее часто используются тетраэдры или
шестигранники.
В методе конечных элементов искомая функция аппроксимируется
линейной комбинацией координатных функций. Для получения уравнений метода,
исходные уравнения интегрируются по всей расчетной области с некоторым
весом, в качестве весовых функций принимаются координатные функции. В самых
простых методах используются функции формы, линейные в пределах каждого
элемента, что гарантирует непрерывность решения на границах элементов.
Важным преимуществом методов конечных методов является их
применимость для задач со сложными пространственными конфигурациями.
Данные методы относительно просто анализировать математически.
1.2.2 Разбиение расчетной области на элементы
Для численной реализации того или иного метода необходимо
сгенерировать сетку для дискретизации определяющих уравнений. Процесс
построения сетки относится к ключевым моментам численного моделирования,
так как рациональным выбором сетки можно значительно упростить решение
уравнений [20].
Регулярные сетки
Традиционно, при решении задач вычислительной гидродинамики
применялись регулярные сетки (четырехсторонние на поверхности и
шестигранные в пространстве). Регулярность заключается в том, что сетка
представляет собой упорядоченную по определенным правилам структуру данных
с явно выраженными сеточными направлениями, которые, в общем случае,
образуют
криволинейную
систему
координат.
В
преобразованном
(вычислительном) пространстве ячейки сетки являются топологическими
прямоугольниками (двумерные задачи) или параллелепипедами (трехмерные
задачи). Для дискретизации уравнений Навье-Стокса на регулярных сетках
используют, как правило, метод конечных разностей.
При построении регулярных сеток в геометрически сложных областях
применяют преобразование координат общего вида, связанных с поверхностью
тела. Основная цель данного преобразования заключается в построении
равномерной расчетной сетки в преобразованном пространстве таким образом,
чтобы координатные линии совпали с границами физической области. Введение
криволинейной системы координат общего вида повышает эффективность
расчетов в вычислительной области, так как система координат является
прямоугольной. Вместе с тем, при записи уравнений в криволинейных
координатах, появляются дополнительные члены --- параметры преобразования,
определяющие отображение физической области на пространство обобщенных
координат.
Следует особо отметить случаи ортогональных и конформных сеток. В
первом случае при дискретизации модельных уравнений обнуляются некоторые
параметры преобразования --- компоненты метрического тензора преобразования
(матрицы Якоби), находящиеся не на главной диагонали данного тензора.
Следствием является уменьшение погрешности, и, следовательно, повышение
точности решения. Использование конформных преобразований позволяет
сохранить такую же структуру модельных уравнений, записанных в
вычислительной системе координат, как и в декартовом пространстве.
Для построения регулярных сеток применяются следующие методы
• Алгебраические методы
• Дифференциальные методы
• Методы теории функций комплексного переменного
Из анализа литературы последних лет следует, что наиболее широко
распространенными являются методы построения сеток на основе решения
эллиптических уравнений и алгебраические методы --- трансфинитная
интерполяция и метод многих поверхностей. Однако, ни один из
вышеперечисленных подходов не является универсальным по отношению ко
всему спектру задач вычислительной гидродинамики.
Блочные сетки
Для
структурированных
сеток
сравнительно
легко
реализуются
вычислительные алгоритмы на основе современных методов высокого порядка
точности.
Однако,
диапазон
геометрических
объектов,
описываемых
структурированными сетками, ограничен. Как правило, невозможно построить
единую сетку для всей расчетной области, в связи с чем производится
разделение поля течения на подобласти, в каждой из которых генерируется своя
сетка регулярной структуры. Блочный подход предоставляет широкие
возможности для использования эффективных численных методов внутри
отдельных блоков. Основной недостаток блочного подхода состоит в достаточно
сложной процедуре сшивки решений, полученных в различных подобластях.
Можно выделить следующие подходы
• Многоблочные структуры. Физическая область разбивается на несколько
зон или блоков, причем границы блоков могут не соответствовать границам
физической области. Затем для каждого блока отдельно строится сетка в
соответствии с граничными условиями для каждой подобласти. Сетки из разных
блоков могут как стыковаться точно по поверхностям раздела физической области
на зоны, так и пересекаться между собой.
• Иерархические блочные структуры. Данный метод подразумевает
иерархическую вложенность блоков сетки друг в друга. Нижестоящие по иерархии
сетки ''погружены'' в вышестоящие.
Неструктурированные сетки
Характерной
особенностью
неструктурированных
сеток
является
произвольное расположение узлов сетки в физической области. Произвольность
расположения узлов понимается в том смысле, что отсутствуют выраженные
сеточные направления и нет структуры сетки, подобной регулярным сеткам.
Число ячеек, содержащих каждый конкретный узел, может изменяться от узла к
узлу. Узлы сетки объединяются в многоугольники (двумерный случай) или в
многогранники (трехмерный случай). Как правило на плоскости используются
треугольные и четырехугольные ячейки, а в пространстве --- тетраэдры и призмы.
Основное преимущество неструктурированных сеток перед регулярными состоит
в большей гибкости при дискретизации физической области сложной формы, а
также
в
возможности
полной
автоматизации
их
построения.
Для
неструктурированных сеток легче реализуются локальные сгущения и адаптация
сетки в зависимости от поведения решения. Современные программы генерации
сеток позволяют за приемлемое время строить сетки для сколь угодно сложных
геометрических объектов. Для дискретизации уравнений Навье-Стокса на
неструктурированных сетках применяются методы конечных элементов и
конечных объемов. Метод конечных разностей к таким сеткам неприменим.
Недостатком неструктурированных сеток по сравнению с регулярными
сетками является необходимость хранить информацию о структуре сетки, что
повышает требования к вычислительным ресурсам.
Тем не менее, данный подход
распространение по следующим причинам
получает
все
более
широкое
• Процесс генерации сетки сравнительно легко формализуется, и
автоматизируется.
Генераторы
неструктурированных
сеток
обладают
универсальностью по отношению к широкому диапазону прикладных задач.
• В случае очень сложной геометрии расчетной области, время генерации
неструктурированной сетки на порядок меньше времени генерации регулярной
сетки.
• Измельчение произвольных участков сетки осуществляется
естественным образом, что дает преимущество при использовании адаптивных и
многосеточных методов.
Как показывает практика, выбор структуры для представления
триангуляции оказывает существенное влияние на трудоемкость алгоритмов,
использующих данную структуру, а также на скорость конкретной реализации [13].
Рассмотрим структуры данных, применяемые для двумерных треугольных сеток.
• ''Узлы с соседями''. Для каждого узла триангуляции хранятся его
координаты на плоскости и список указателей на соседние узлы, с которыми есть
общие ребра. Треугольники при этом не представляются вообще, что является
обычно существенным препятствием для дальнейшего применения триангуляции.
• ''Узлы, ребра и треугольники''. В явном виде задаются все виды
объектов триангуляции узлы, ребра и треугольники. Недостатком данной
структуры является большой расход памяти.
• ''Узлы и треугольники''. Для каждого треугольника хранятся три
указателя на образующие его узлы и три указателя на смежные треугольники.
Данная структура триангуляции наиболее часто применяется на практике в силу
своей компактности и относительного удобства в работе.
Гибридные сетки
Гибридные сетки комбинируют регулярные и неструктурированные области
сетки. Данный подход позволяет сочетать достоинства и снизить влияние
недостатков, присущих каждому типу сеток. Простейший пример гибридной сетки -- течение около системы профилей. Область около профилей покрывается
ортогональной регулярной сеткой, а области между профилями и далекое поле --неструктурированной.
Вычислительный
алгоритм
содержит
процедуру
переключения вычислительных схем на различных сетках, и, при необходимости,
переноса информации с одного типа сетки на другой.
1.2.3 Уравнения Навье-Стокса для несжимаемой жидкости
Для несжимаемой жидкости выполняются свойства
𝑀 = 0,
𝑐 = inf
где 𝑀 -- число Маха, 𝑐 -- местная скорость звука. Предположение о
несжимаемости является также хорошим приближением, например для воздуха
при скорости 𝑣 < 100 м/с , или числе Маха 𝑀 < 0,3.
При рассмотрении задач о несжимаемой жидкости используется частный
случай уравнений для сжимаемой жидкости. Эти уравнения, в случае отсутствия
массовых сил и подвода тепла извне, записываются следующим образом
∇ ⋅ 𝑣⃗
+ 𝑣⃗ ⋅ ∇𝑣⃗
∂𝑡
⃗⃗
∂𝑣
=
=
1
−𝜌
0
∇𝑝 + 𝜈Δ𝑣⃗
(23)
Эти уравнения образуют смешанную эллиптически-параболическую
систему относительно неизвестных (𝑝, 𝑣⃗). Моделирование вихревых течений на
основе численного решения уравнений Навье-Стокса для несжимаемой жидкости
сопровождается рядом трудностей математического характера.
Уравнение неразрывности для несжимаемой жидкости содержит лишь
составляющие скорости, в связи с чем нет прямой связи с давлением, которая для
сжимаемых течений осуществляется через плотность. Вследствие этого одной из
главных проблем является наложении условия несжимаемости, и возможное
возникновение неустойчивости решения при наложении условия несжимаемости.
Другой проблемой при решении системы уравнений Навье-Стокса является
нелинейность, связанная с конвективными слагаемыми в уравнениях движения,
которая может приводить к появлению осцилляций решения в областях с
большими градиентами. В случае превалирования конвекции над диффузией
происходит ухудшение решения из-за жесткости, которую вносят в систему
уравнений конвективные члены, и несимметричности матрицы системы линейных
алгебраических уравнений. Наиболее эффективными методами учета
конвективных слагаемых являются противопотоковые схемы, реализованные
методом конечных объемов.
Метод завихренности и функции тока
В методе завихренности и функции тока [14], выполняется замена
переменных для перехода от компонент скорости (𝑢, 𝑣) к завихренности 𝜔 и
функции тока 𝜓, которые в двумерных декартовых координатах определяются так
∂𝑣
∂𝑢
𝜔 = ∂𝑥 − ∂𝑦 ,
∂𝜓
∂𝑦
∂𝜓
= 𝑢,
∂𝑥
= −𝑣
(24)
Используя новые независимые переменные, можно скомбинировать
уравнения сохранения импульса, исключая из них давление, что дает
∂𝜔
∂𝑡
∂𝜔
∂𝜔
∂2 𝜔
∂2 𝜔
+ 𝑢 ∂𝑥 + 𝑣 ∂𝑦 = 𝜈 ( ∂𝑥 2 + ∂𝑦 2 )
(25)
Это параболическое уравнение в частных производных называется
уравнением переноса завихренности.
Зависимости (24) позволяют получить уравнение для 𝜔 и 𝜓
∂2 𝜓
∂𝑥 2
∂2 𝜓
+ ∂𝑦 2 = −𝜔
(26)
Это выражение представляет собой уравнение Пуассона, являющееся
эллиптическим.
Итак, в результате замены переменных, смешанная эллиптическипараболическая система уравнений разделилась на одно параболическое и одно
эллиптическое уравнение. Обычно эти уравнения решают методом установления
по времени.
Чтобы определить давление, необходимо решить уравнение Пуассона для
давления
∂2 𝑝
∂2 𝑝
+ ∂𝑦 2 = 2𝜌[∂2 𝜓() ∂𝑥 2 ∂2 𝜓() ∂𝑦 2 ]
∂𝑥 2
(27)
Распространение подхода с использованием завихренности и функции тока
в качестве независимых переменных на трехмерные задачи осложнено тем, что
для действительного трехмерного течения нельзя ввести функцию тока.
Проекционные методы и метод коррекции давления
Конечно-разностные и конечно-объемные методы решения делятся на
методы, использующие процедуру коррекции давления (pressure-based algorithm),
и методы, основанные на принципе расщепления неизвестных (pressure-velocity
coupling) [26].
Метод расщепления по физическим факторам подразумевает разделение
системы уравнений Навье-Стокса на последовательность более простых
уравнений, таких как уравнения диффузии, переноса и уравнение Пуассона.
Разработка численных методов для этих уравнений оказывается значительно
проще, чем непосредственного для уравнений Навье-Стокса.
Фактически, производится расчет поля скоростей в два этапа. На первом
этапе вычисляется промежуточное поле скоростей без учета уравнения
неразрывности. На втором этапе осуществляется коррекция поля скоростей,
чтобы обеспечить выполнение уравнения неразрывности. Тем самым
осуществляется ''проекция'' поля скоростей на пространство векторов с нулевой
дивергенцией, поэтому методы называются проекционными.
Схема расщепления по физическим факторам (метод проекции),
применяемая для дискретизации уравнений Навье-Стокса, записанных в
физических переменных [7].
Пусть в момент времени 𝑡 𝑛 известны поле скорости 𝑣⃗ и поле давления 𝑝.
Тогда для расчета неизвестных функций в момент времени 𝑡 𝑛+1 используется
схема расщепления [6], состоящая из трех этапов.
На этапе 1 предполагается, что перенос
осуществляется только за счет конвекции и диффузии
⃗⃗ ∗ −𝑣
⃗⃗ 𝑛
𝑣
Δ𝑡
= −𝑣⃗ 𝑛 ⋅ ∇𝑣⃗ 𝑛 + 𝜈Δ𝑣⃗ 𝑛 + 𝑓⃗ 𝑛
количества
движения
(28)
Несмотря на то, что промежуточное поле скорости 𝑣⃗ ∗ не удовлетворяет
уравнению неразрывности, оно имеет физический смысл, так как сохраняет
вихревые характеристики 𝑟𝑜𝑡 𝑣⃗ ∗ = 𝑟𝑜𝑡 𝑣⃗ 𝑛+1 .
На этапе 2 по найденному промежуточному полю скорости 𝑣⃗ ∗ , с учетом
соленоидальности вектора скорости 𝑣⃗ 𝑛+1 , рассчитывается поле давления
1
Δ𝑝𝑛+1 = Δ𝑡 ∇𝑣⃗ ∗
(29)
Для решения уравнения Пуассона (43) на каждом шаге по времени могут
использоваться как итерационные, так и прямые методы.
На этапе 3 предполагается, что перенос количества движения
осуществляется только за счет градиента давления (конвекция и диффузия
отсутствуют)
⃗⃗ 𝑛+1 −𝑣
⃗⃗ ∗
𝑣
Δ𝑡
= −∇𝑝𝑛+1
(30)
Следует отметить, что уравнение Пуассона (29) получено путем взятия
дивергенции от обеих частей равенства (30) с учетом уравнения неразрывности
∇𝑣⃗ 𝑛+1 = 0.
Метод искусственной сжимаемости
Рассматривается формулировка метода искусственной сжимаемости, в
которой в уравнение неразрывности включено слагаемое, содержащее
производную давления по искусственному времени [26, 22]. Полученное
уравнение вместе с уравнениями сохранения количества движения образуют
гиперболическую систему уравнений, для которой скорость распространения
возмущений давления конечна.
Преимущество метода при решении задач стационарного течения,
заключается в том, что он не требует получения поля скоростей с нулевой
дивергенцией на каждой итерации. Дивергенция поля скоростей автоматически
обращается в ноль, когда решение устанавливается во времени. Кроме того,
данный метод может быть обобщен на случай нестационарного движения.
За счет введения искусственного
неразрывности приводится к виду
1 ∂𝑝
𝛽 2 ∂𝜏
+
∂(𝜌𝑣𝑖 )
∂𝑥𝑖
уравнения
=0
состояния,
уравнение
(31)
Параметр 𝛽, представляющий собой искусственную скорость звука должен
быть выбран с учетом двух факторов. С одной стороны, искусственная скорость
звука должна быть близка к скорости движения жидкости, обеспечивая лучшую
обусловленность системы. С другой стороны, искусственная скорость звука
должна быть достаточно велика, чтобы возмущения поля давлений успевали
распространяться достаточно далеко до того, как произойдет их затухание. Тем
самым осуществляется переход к установившемуся состоянию, при котором
выполняется условие несжимаемости. Для обезразмеренных уравнений этим
условиям удовлетворяет диапазон значений 𝛽 от 0.1 до 10 , предложенный в
работе [29].
С точки зрения линейной алгебры, система линейных уравнений,
возникающая при дискретизации уравнений метода искусственной сжимаемости,
оказывается хорошо обусловленной (при правильном выборе параметра 𝛽 ) по
сравнению с исходными уравнениями. Любые другие методы решения должны
использовать специальные приемы для получения корректных распределений
давления.
В случае применения метода искусственной сжимаемости для расчета
нестационарных течений, применяется метод двойных шагов по времени (dual
time step) [33].
В этом случае интегрирование по физическому времени 𝑡 осуществляется
только для уравнения сохранения количества движения. На каждом шаге
физического времени осуществляется итерационный процесс интегрирования по
искусственному времени 𝜏 следующей системы
1 ∂𝑝
𝛽 2 ∂𝜏
∂𝑣𝑖
∂𝑡
+
+
∂𝑣𝑖
∂𝜏
∂(𝜌𝑣𝑖 )
+
∂𝑥𝑖
∂(𝑣𝑖 𝑣𝑗 )
∂𝑥𝑗
=
=
0
1 ∂𝑝
−𝜌
∂𝑥𝑖
+𝜈
∂2 𝑣𝑖
(32)
∂𝑥𝑗2
Таким образом, на каждом шаге физического времени обеспечивается
выполнение условия несжимаемости.
1.2.4 Методы решения СЛАУ
Одним из наиболее емких, с точки зрения затрат машинных ресурсов,
этапов вычислительной процедуры является решение системы линейных
алгебраических уравнений (СЛАУ) большой размерности. Необходимость
решения такой системы возникает в следующих двух случаях
• в результате применения
определяющих уравнений по времени,
неявных
схем
для
дискретизации
• в результате дискретизации уравнения Пуассона при использовании
проекционных методов наложения условия несжимаемости.
Рассмотрим систему линейных алгебраических уравнений, записанную в
виде
𝐴𝑥 = 𝑏
где 𝐴 = {𝑎𝑖𝑗 } - матрица системы, имеющая размерность 𝑛 × 𝑛 , вектор
𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) - вектор решения, 𝑏 = (𝑏1 , 𝑏2 , … , 𝑏𝑛 ) - вектор правых частей.
Численные методы решения систем данного вида [3, 8] принято разделять
на два класса: прямые методы и итерационные.
Методы, позволяющие получить решение системы уравнений за конечное
число арифметических операций, называются прямыми. К ним относятся метод
Крамера, метод исключения Гаусса, метод 𝐿𝑈-разложения и ряд других методов.
Основным недостатком прямых методов являются жесткие требования к
быстродействию и памяти. Например, метод Гаусса требует выполнения порядка
𝑛3 арифметических операций и хранения порядка 𝑛2 переменных. Кроме того,
если 𝑛 велико, то машинная погрешность вычислений будет оказывать
значительное влияние на конечный результат.
Итерационный метод общего вида [2, 8] основан на последовательном
улучшении начального приближения решения. Построение последовательности
приближений
осуществляется
посредством
единообразного
процесса,
называемого процессом итераций. Вычислительный процесс заканчивается, когда
изменение решения при переходе к следующей итерации становится достаточно
малым, или когда невязка уменьшается до заданного значения. Итерационные
методы требуют хранения порядка 𝑛 переменных, а время решения зависит от
обусловленности матрицы и качества начального приближения. Например для
методов Якоби и Гаусса-Зейделя количество арифметических операций
составляет порядка 𝑘 2 , где 𝑘 -- количество проведенных итераций. Особенностью
итерационных методов является необходимость исследования сходимости
каждого метода.
Общая структура итерационных методов связана с представлением
матрицы в виде 𝐴 = 𝑁 − 𝑆 и видоизмененной формой исходного уравнения
( 𝑁 − 𝑆 ) 𝑥 = 𝑏 . Различные итерационные методы отличаются друг от друга
способом выбора матрицы 𝑁 . Примером обычных итерационных методов могут
служить метод Якоби (метод простых итераций), метод Зейделя, метод
последовательной релаксации. К отдельному классу следует отнести
вариационные итерационные методы: метод наискорейшего спуска, минимальных
невязок, минимальных поправок, минимальных погрешностей и другие.
Классические итерационные методы
Рассмотрим для системы (53) итерационный процесс общего вида,
заданный следующим образом
𝑥 𝑘+1 = 𝑥 𝑘 − 𝐻 𝑘 ( 𝐴 𝑥 𝑘 − 𝑏 )
где 𝐻 𝑘 -- невырожденная матрица. Перепишем выражение в виде
𝑥 𝑘+1 = 𝑇 𝑘 𝑥 𝑘 + 𝐻 𝑘 𝑏
(33)
где 𝑇 𝑘 = 𝐼 − 𝐻 𝑘 𝐴 -- оператор 𝑘-го шага итерационного процесса, 𝐼 -единичная матрица.
Пусть 𝑥 ∗ -- точное решение системы. Введем обозначения
𝑧 𝑘 = 𝑥 𝑘 − 𝑥 ∗,
где 𝑧 𝑘 -- вектор ошибки,
место соотношения
𝑟𝑘 = 𝐴 𝑥𝑘− 𝑏
𝑟 𝑘 -- вектор невязки. В таком случае имеют
𝐴 𝑧 𝑘 = 𝑟 𝑘,
𝑧 𝑘+1 = 𝑇 𝑘 𝑟 𝑘
Итерационный
процесс
(33)
называется
сходящимся,
если
последовательность { 𝑥 𝑘 } сходится к 𝑥 ∗ при любом начальном приближении
𝑥 0 . Итерационный процесс называется стационарным, если 𝑇 𝑘 не зависит от
номера итерации 𝑘. В противном случае процесс называется нестационарным.
Методы вариационного типа
В методах вариационного типа [2, 8] решение линейной алгебраической
системы заменяется эквивалентной экстремальной задачей. Пользуясь
обозначениями (53), образуем квадратичный функционал следующего вида
Φ( 𝑥 ) = ( 𝐴 𝑥 , 𝑥 ) − 2( 𝑏 , 𝑥 )
(34)
где символ (⋅,⋅) обозначает скалярное произведение двух векторов. Можно
показать, что если матрица 𝐴 симметрична и положительно определена, то
задача решения системы линейных уравнений и задача минимизации
функционала (55) эквивалентны. Для случая произвольной невырожденной
матрицы 𝐴 , не являющейся симметричной, можно сформулировать аналогичную
задачу минимизации функционала.
Конструирование
применения к задаче
функционала.
итерационного
процесса
(34) различных методов
осуществляется
путем
численной минимизации
Итерационные методы Крылова
[8] Наиболее эффективными и устойчивыми среди итерационных методов
являются
проекционные
методы,
связанные
с
проектированием
на
подпространства Крылова (Krylov subspace methods). По сравнению с
классическими итерационными методами, они не содержат эмпирически
подбираемых параметров и позволяют получить более высокую скорость
сходимости, несмотря на увеличение числа операций на каждой итерации.
В семейство итерационных методов Крылова входят, в частности
• обобщенный метод минимальных невязок (Generalized Minimum
Residual, GMRES),
• метод сопряженных градиентов (Conjugate Gradients, CG),
• метод квадратичных сопряженных градиентов (Conjugate Gradients
Squared, CGS),
• метод бисопряженных градиентов (Bi-Conjugate Gradients, BiCG),
• метод бисопряженных градиентов со стабилизацией (BiCGStab).
В программном коде «SmartFlow» используются обобщенный метод
минимальных невязок (GMRES) и метод бисопряженных градиентов (BiCG).
1.2.5 Выводы
Исходя из поставленной задачи расчета течений в сложных областях с
подвижными границами, для разделения расчетной области на элементы
наиболее
перспективным,
с
точки
зрения
автора,
оказывается
неструктурированный тип сетки.
Для пространственной дискретизации определяющих уравнений выбран
метод конечных объемов с высоким порядком аппроксимации, который, наряду с
другими достоинствами, хорошо зарекомендовал себя при расчетах на
неструктурированных сетках.
Для наложения условия несжимаемости в уравнениях Навье-Стокса выбран
подход
с
искусственной
сжимаемостью.
Результирующие
уравнения
дискретизируются по времени при помощи неявной схемы второго порядка
точности. Возможность применения метода искусственной сжимаемости для
решения нестационарных задач обеспечивается за счет применения метода
двойных шагов по времени.
Учитывая, что система линейных алгебраических уравнений, возникающая
в результате применения неявной схемы дискретизации по времени, имеет
большую размерность и обладает разреженной несимметричной матрицей, для
решения этой системы выбран итерационный метод бисопряженных градиентов и
обобщенный метод минимальных невязок.
Численная реализация метода решения уравнений Навье-Стокса
2.1 Общая постановка задачи и основные допущения
Рассматривается нестационарное турбулентное (низкорейнольдсовое)
обтекание двумерного тела произвольной формы, совершающего колебания
вблизи плоских границ раздела сред или в неограниченной жидкости.
Предполагается, что массовые силы, действующие в жидкости, известны и
постоянны во времени. в начальный момент времени также известны все
характеристики течения: давление, компоненты вектора скорости, плотность и
кинематическая вязкость жидкости. На всем временном промежутке известны
значения гидродинамических характеристик на границах расчетной области, а
также закон перемещения обтекаемого тела.
Необходимо определить состояние поля скоростей и давления в
последующие моменты времени, а также интегральные гидродинамические
характеристики потока.
Течение описывается осредненными по Рейнольдсу уравнениями НавьеСтокса
∇ ⋅ 𝑣⃗
+ 𝑣⃗ ⋅ ∇𝑣⃗
∂𝑡
⃗⃗
∂𝑣
=
=
1
−𝜌
0
∇𝑝 + ∇[(𝜈 + 𝜈𝑡 )∇𝑣⃗ ]
(35)
На твердых границах задаются условия прилипания и непротекания, а
также граничное условие для давления. Задается профиль скорости набегающего
потока. Начальные условия представляют собой заранее заданные
распределения полей скоростей и давления в начальный момент времени,
которые должны удовлетворять уравнениям (35).
Для замыкания системы уравнений (35) используется стандартная модель
турбулентности Спаларта-Аллмараса.
𝜈𝑡
∂𝜈̃ ∂𝑡 + (𝑣⃗ ⋅ ∇)𝜈̃
=
=
𝜈̃𝑓𝜈1
𝑐𝑏1 𝑆̃𝜈̃ − 𝑐𝑤1 𝑓𝑤 𝜈̃()𝑑2 +
+1𝜎{∇[(𝜈 + 𝜈̃)∇𝜈̃] + 𝑐𝑏2 (∇𝜈̃)2 }
(36)
Последующие разделы посвящены численной реализации описанной
математической модели течения вязкой несжимаемой жидкости.
2.2 Особенности метода расчета
Сформулируем основные методологические особенности разработанного
метода, которые будут детально рассмотрены в следующих разделах данной
главы.
Расчетный алгоритм построен с использованием метода искусственной
сжимаемости, что позволяет избежать возникновения неустойчивости решения
при наложении условия несжимаемости. Получение монотонного решения при
сохранении точности обеспечивается путем применения противопоточной схемы
высокого порядка для расчета конвективных слагаемых. Для пространственной
дискретизации определяющих уравнений применяется метод конечных объемов
на неструктурированных треугольных сетках. Построение расчетной сетки
осуществляется с использованием внешнего генератора (Gambit, Geompack).
В предложенном подходе контрольные объемы выбраны совпадающими с
ячейками сетки. В качестве основных переменных выступают средние значения
переменных решения (давление и компоненты скорости потока) по ячейкам сетки,
заданные в центральных точках ячеек.
Нахождение как конвективного, так и диффузионного потоков на границе
контрольной
ячейки
осуществляется
при
помощи
кусочно-линейной
аппроксимации решения в каждой ячейке. Коэффициенты аппроксимационного
полинома в ячейке определяются методом наименьших квадратов. Монотонность
аппроксимации обеспечивается при помощи ограничивающего множителя.
Кусочно-линейная аппроксимация позволяет находить со вторым порядком
точности значение решения в любой точке ячейки, а также градиент решения в
центральной точке ячейки.
Величина конвективного потока через границу ячейки определяется при
помощи противопоточной схемы, по значениям переменных решения,
вычисленным при помощи аппроксимационных полиномов двух соседних ячеек.
При этом учитывается скорость перемещения сторон ячеек деформируемой
расчетной сетки. Значение градиента на границе между двумя ячейками,
используемое при вычислении диффузионного потока, определяется как
взвешенное среднее его значений в соседних ячейках, пропорционально их
площадям.
В случае расчета установившегося течения, для интегрирования уравнений
по искусственному времени применяется неявная схема Эйлера первого порядка
точности. Для расчета нестационарного течения применяется техника введения
дополнительных итераций по искусственному времени на каждом шаге
физического времени. При этом для дискретизации по физическому времени
используется неявная формула Эйлера второго порядка. Получаемая таким
образом СЛАУ является аналогом соответствующей системы для случая
установившегося течения, что позволяет создать универсальный программный
код, пригодный для решения обеих задач.
2.3 Дискретизация по пространству. Метод конечных объемов
Решение осуществляется на основе осредненных по Рейнольдсу уравнений
Навье-Стокса
с искусственной
сжимаемостью.
После
приведения
к
безразмерному виду, консервативная форма этой системы уравнений имеет вид
∂𝑝
∂𝑡
⃗⃗
∂𝑣
+ 𝛽 2 ∇ ⋅ 𝑣⃗
=
+ ∇ ⋅ (𝑣⃗ ⋅ 𝑣⃗)
∂𝑡
0
(37)
1
= −∇𝑝 + ∇ [(𝑅𝑒 + 𝜈𝑡 ) ∇𝑣⃗ ]
В качестве безразмерного параметра принимается число Рейнольдса 𝑅𝑒 =
𝑈0 𝐿0 /𝜈, где 𝐿0 , 𝑈0 -- характерные длина и скорость, 𝜈 -- кинематическая вязкость,
𝜈𝑡 -- обезразмеренная турбулентная кинематическая вязкость, определяемая при
помощи модели Спаларта-Аллмараса.
Интегральная форма уравнений (37), записанная для контрольной ячейки 𝑆,
имеет вид
∫𝑆
∫𝑆
∂𝑝
⃗⃗
∂𝑣
∂𝑡
∂𝑡
𝑑𝑆 + 𝛽 2 ∫𝐿 (𝑣⃗ ⋅ 𝑛⃗⃗) 𝑑𝑙
𝑑𝑆 + ∫𝐿 𝑣⃗(𝑣⃗ ⋅ 𝑛⃗⃗) + 𝑝𝑛⃗⃗ 𝑑𝑙
=
0
1
= (
𝑅𝑒
+ 𝜈𝑡 ) ∫𝐿 (∇𝑣⃗ ⋅ 𝑛⃗⃗) 𝑑𝑙
(38)
В случае, если граница контрольной ячейки 𝑆 подвижна, второе уравнение
принимает вид
∫𝑆
⃗⃗
∂𝑣
∂𝑡
1
𝑑𝑆 + ∫𝐿 (𝑣⃗ − 𝑣⃗𝑔 )(𝑣⃗ ⋅ 𝑛⃗⃗) + 𝑝𝑛⃗⃗ 𝑑𝑙 = (𝑅𝑒 + 𝜈𝑡 ) ∫𝐿 (∇𝑣⃗ ⋅ 𝑛⃗⃗) 𝑑𝑙
(39)
где 𝑣⃗𝑔 -- скорость перемещения границы.
2.3.1 Выражения для двухмерного случая
Перепишем полученную систему уравнений
физических переменных 𝑞 следующим образом
∫𝑆
∂ 𝑞
∂𝑡
относительно
вектора
𝑑𝑆 + ∫𝐿 ( 𝑒 − 𝑒 𝑣 )𝑛𝑥 + ( 𝑓 − 𝑓 𝑣 ) 𝑑𝐿 = 0
где 𝑞 -- вектор переменных решения, включающий в себя давление и
компоненты скорости, 𝑒, 𝑓 -- невязкие потоки, 𝑒 𝑣 , 𝑓 𝑣 -- вязкие потоки
𝑝
𝑞 = (𝑢 ) ,
𝑣
𝑒
𝑣
𝛽2𝑢
𝑒 = (𝑢 2 + 𝑝 ) ,
𝑢𝑣
0
= (𝜃𝑥𝑥 ),
𝜃𝑥𝑦
∂𝑢
𝑓
𝑣
∂𝑢
𝛽2𝑣
𝑓 = (𝑢𝑣
)
2
𝑣 +𝑝
0
= (𝜃𝑦𝑥 )
𝜃𝑦𝑦
∂𝑣
∂𝑣
𝜃𝑥𝑦 = 2𝜈Σ (∂𝑥 ), 𝜃𝑥𝑦 = 𝜃𝑦𝑥 = 𝜈Σ (∂𝑦 + ∂𝑥), 𝜃𝑦𝑦 = 2𝜈Σ (∂𝑦)
где 𝛽 -- параметр искусственной сжимаемости, 𝜈Σ = (1/𝑅𝑒 + 𝜈𝑡 ) .
В случае подвижной границы ячейки, вместо 𝑒 , 𝑓 используются 𝑒 ∗ , 𝑓 ∗
𝛽2𝑢
𝑒 ∗ = (𝑢(𝑢 − 𝑢𝑔 ) + 𝑝) ,
𝑢(𝑣 − 𝑣𝑔 )
𝛽2𝑣
𝑓 ∗ = (𝑣(𝑢 − 𝑢𝑔 )
)
𝑣(𝑣 − 𝑣𝑔 ) + 𝑝
Представив границу ячейки в виде суммы сторон, найдем значение
интеграла по каждой грани при помощи квадратурной формулы прямоугольников.
Тем самым получим уравнения метода конечных объемов, записанные
относительно вязкого и невязкого потоков через поверхность контрольного
объема.
𝑆𝑖
∂ 𝑞𝑖
∂𝑡
+ ∑𝑗
𝐹 (𝑖,𝑗) − ∑𝑗
𝑅 (𝑖,𝑗) = 0
где 𝑆𝑖 -- площадь 𝑖-ой ячейки, 𝐹 (𝑖,𝑗) и 𝑅 (𝑖,𝑗) -- невязкий и вязкий потоки
через 𝑗-ый отрезок границы этой ячейки, имеющие следующий вид
𝐹 = 𝑒 𝑆𝑥 + 𝑓 𝑆𝑦 ,
𝑅 = 𝑒 𝑣 𝑆𝑥 + 𝑓 𝑣 𝑆𝑦 ,
где 𝑆𝑥 , 𝑆𝑦 проекции вектора 𝑆⃗ = 𝑆𝑛⃗⃗ представляющего собой единичную
нормаль к стороне ячейки умноженную на длину этой стороны.
Таким образом невязкий и вязкий потоки представляются в виде функций
вектора переменных решения
𝛽 2 𝑢𝑆𝑥 + 𝛽 2 𝑣𝑆𝑦
𝐹 ( 𝑞 ) = ((𝑢2 + 𝑝)𝑆𝑥 + 𝑢𝑣𝑆𝑦 )
𝑢𝑣𝑆𝑥 + (𝑣 2 + 𝑝)𝑆𝑦
0
𝑅 ( 𝑞 ) = (𝜃𝑥𝑥 𝑆𝑥 + 𝜃𝑥𝑦 𝑆𝑦 )
𝜃𝑦𝑥 𝑆𝑥 + 𝜃𝑦𝑦 𝑆𝑦
Используя обозначение 𝑈 = 𝑢𝑆𝑥 + 𝑣𝑆𝑦 , удобно представить невязкий поток
следующим образом
𝛽2𝑈
𝐹 ( 𝑞 ) = (𝑢𝑈 + 𝑝𝑆𝑥 )
𝑣𝑈 + 𝑝𝑆𝑦
В случае подвижной границы ячейки, невязкий поток примет вид
𝛽2𝑈
𝐹 ∗ ( 𝑞 ) = ((𝑢 − 𝑢𝑔 )𝑈 + 𝑝𝑆𝑥 )
(𝑣 − 𝑣𝑔 )𝑈 + 𝑝𝑆𝑦
Чтобы избежать возникновения осцилляций, связанных с нелинейностью
конвективных слагаемых, будем использовать противопотоковую схему [32] для
вычисления невязкого потока через каждую грань контрольного объема (сторону
ячейки).
В этом случае поток 𝐹 через общую грань двух контрольных объемов
(общий отрезок границы двух ячеек) будет иметь вид
𝐹 (𝑖,𝑗) = 12[ 𝐹 ( 𝑞 𝑅 ) + 𝐹 ( 𝑞 𝐿 ) + | 𝐴 |(𝑖,𝑗) ( 𝑞 𝑅 − 𝑞 𝐿 )]
где 𝑞 𝐿 и 𝑞 𝑅 -- значения вектора переменных 𝑞 на внутренней и
внешней сторонах отрезка границы. Элементы матрицы | 𝐴 | вычисляются как
функции переменных решения в точке границы 𝑞 (𝑖,𝑗) = ( 𝑞 𝑅 + 𝑞 𝐿 )/2.
Здесь матрица | 𝐴 | представляет собой модуль якобиана
Представим матрицу Якоби 𝐴 в виде
𝐴 =∂𝐹/∂𝑞 .
𝐴 = 𝑋 Λ 𝑋 −1
где 𝑋 -- матрица собственных векторов якобиана, Λ -- диагональная
матрица его собственных значений. Тогда | 𝐴 | определяется следующим
образом
|𝐴| = 𝑋 |Λ| 𝑋 −1
Выпишем структуру перечисленных матриц.
∂𝐹
𝐴 = ∂𝑞
0
𝑆
= 𝑥
𝑆𝑦
[
𝛽 2 𝑆𝑥
𝑢𝑆𝑥 + 𝑈
𝑣𝑆𝑥
𝛽 2 𝑆𝑦
𝑢𝑆𝑦
𝑣𝑆𝑦 + 𝑈
]
Якобиан 𝐴 имеет три собственных значения
𝑈, 𝑈 + 𝑐, 𝑈 − 𝑐
где 𝑐 -- искусственная скорость звука
𝑐 = √𝑈 2 + 𝛽 2 (𝑆𝑥2 + 𝑆𝑦2 ), 𝑈 = 𝑢𝑆𝑥 + 𝑣𝑆𝑦
Матрица собственных значений якобиана 𝐴 и ее модуль имеют вид
𝑈
0
Λ =[
0
0
𝑈+𝑐
0
|𝑈|
0
0
0
], | Λ | = [
𝑈−𝑐
0
0
|𝑈 + 𝑐|
0
0
0
]
|𝑈 − 𝑐|
Матрица собственных векторов якобиана 𝐴 имеет вид
0
𝑋 = [𝑆𝑦
−𝑆𝑥
𝑐𝛽 2
𝛽 2 𝑆𝑥 + 𝑢(𝑈 + 𝑐)
𝛽 2 𝑆𝑦 + 𝑣(𝑈 + 𝑐)
−𝑐𝛽 2
𝛽 2 𝑆𝑥 + 𝑢(𝑈 − 𝑐)]
𝛽 2 𝑆𝑦 + 𝑣(𝑈 − 𝑐)
В случае подвижной границы ячейки, Якобиан примет вид
𝐴∗ =
∂
∂
0
∗
𝑆
𝐹
= 𝑥
𝑞
𝑆𝑦
[
𝛽 2 𝑆𝑥
(𝑢 − 𝑢𝑔 )𝑆𝑥 + 𝑈
𝑣𝑆𝑥
𝛽 2 𝑆𝑦
𝑢𝑆𝑦
(𝑣 − 𝑣𝑔 )𝑆𝑦 + 𝑈
]
Его собственными числами будут
𝑈, 𝑈 ∗ + 𝑐 ∗ , 𝑈 ∗ − 𝑐 ∗
где
1
𝑈 ∗ = 𝑈 − 2 (𝑢𝑔 𝑆𝑥 + 𝑣𝑔 𝑆𝑦 ), 𝑐 ∗ = √(𝑈 ∗ )2 + 𝛽 2 (𝑆𝑥2 + 𝑆𝑦2 )
2.3.2 Выражения для трехмерного случая
Были получены следующие выражения для трехмерного случая.
Перепишем полученную систему уравнений относительно вектора
физических переменных 𝑞 для трехмерного случая следующим образом
∫𝑆
∂ 𝑞
∂𝑡
𝑑𝑆 + ∫𝐿 (𝑒 − 𝑒 𝑣 )𝑛𝑥 + ( 𝑓 − 𝑓 𝑣 )𝑛𝑦 + ( g − 𝑔𝑣 )𝑛𝑧 𝑑𝐿 = 0
где 𝑞 -- вектор переменных решения, включающий в себя давление и
компоненты скорости, 𝑒, 𝑓, 𝑔 -- невязкие потоки, 𝑒 𝑣 , 𝑓 𝑣 , 𝑔𝑣 -- вязкие потоки
𝛽2𝑢
2
𝑒 = (𝑢 + 𝑝) ,
𝑢𝑣
𝑢𝑤
𝑝
𝑢
𝑞 = ( ),
𝑣
𝑤
𝑒𝑣
0
𝜃
= ( 11 ),
𝜃12
𝜃13
𝑓𝑣
𝛽2𝑣
𝑓 = (𝑢𝑣
),
𝑣2 + 𝑝
𝑢𝑤
0
𝜃
= ( 21 ),
𝜃22
𝜃23
∂𝑉
𝛽2𝑤
𝑤𝑢
𝑔 =(
)
wv
𝑤2 + 𝑝
0
𝜃
g v = ( 31 )
𝜃32
𝜃33
∂𝑈
𝜃𝑖𝑗 = 𝜈Σ ( ∂x𝑖 + ∂𝑥 𝑖 )
j
𝑖
где 𝛽 -- параметр искусственной сжимаемости, 𝜈Σ = (1/𝑅𝑒 + 𝜈𝑡 ) .
Представив границу ячейки в виде суммы сторон, найдем значение
интеграла по каждой грани при помощи квадратурной формулы прямоугольников.
Тем самым получим уравнения метода конечных объемов, записанные
относительно вязкого и невязкого потоков через поверхность контрольного
объема.
𝑆𝑖
∂𝑞 𝑖
∂𝑡
+ ∑𝑗 𝐹 (𝑖,𝑗) − ∑𝑗 𝑅 (𝑖,𝑗) = 0
где 𝑆𝑖 -- площадь 𝑖-ой ячейки, 𝐹 (𝑖,𝑗) и 𝑅 (𝑖,𝑗) -- невязкий и вязкий потоки
через 𝑗-ый отрезок границы этой ячейки, имеющие следующий вид
𝐹 = 𝑒 𝑆𝑥 + 𝑓 𝑆𝑦 + g Sz ,
𝑅 = 𝑒 𝑣 𝑆𝑥 + 𝑓 𝑣 𝑆𝑦 + g v Sz ,
где 𝑆𝑥 , 𝑆𝑦 , 𝑆𝑧 проекции вектора 𝑆⃗ = 𝑆𝑛⃗⃗ представляющего собой единичную
нормаль к стороне ячейки умноженную на длину этой стороны.
Используя обозначение 𝑈 = 𝑢𝑆𝑥 + 𝑣𝑆𝑦 + 𝑤 𝑆𝑧 , удобно представить невязкий
поток следующим образом
𝛽2𝑈
𝑢𝑈 + 𝑝𝑆𝑥
𝐹(𝑞)=
𝑣𝑈 + 𝑝𝑆𝑦
(𝑤𝑈 + 𝑝𝑆𝑧 )
Чтобы избежать возникновения осцилляций, связанных с нелинейностью
конвективных слагаемых, будем использовать противопотоковую схему [32] для
вычисления невязкого потока через каждую грань контрольного объема (сторону
ячейки).
В этом случае поток 𝐹 через общую грань двух контрольных объемов
(общий отрезок границы двух ячеек) будет иметь вид
𝐹 (𝑖,𝑗) = 12[ 𝐹 ( 𝑞 𝑅 ) + 𝐹 ( 𝑞 𝐿 ) + | 𝐴 |(𝑖,𝑗) ( 𝑞 𝑅 − 𝑞 𝐿 )]
где 𝑞 𝐿 и 𝑞 𝑅 -- значения вектора переменных 𝑞 на внутренней и
внешней сторонах отрезка границы. Элементы матрицы | 𝐴 | вычисляются как
функции переменных решения в точке границы 𝑞 (𝑖,𝑗) = ( 𝑞 𝑅 + 𝑞 𝐿 )/2.
Здесь матрица | 𝐴 | представляет собой модуль якобиана
Представим матрицу Якоби 𝐴 в виде
𝐴 =∂𝐹/∂𝑞 .
𝐴 = 𝑋 Λ 𝑋 −1
где 𝑋 -- матрица собственных векторов якобиана, Λ -- диагональная
матрица его собственных значений. Тогда | 𝐴 | определяется следующим
образом
|𝐴| = 𝑋 |Λ| 𝑋 −1
Выпишем структуру перечисленных матриц.
∂𝐹
𝐴 = ∂𝑞 =
0
𝑆𝑥
𝑆𝑦
𝑆𝑧
𝑆𝑥 β2
2𝑢𝑆𝑥 + 𝑣𝑆𝑦 + 𝑤𝑆𝑧
𝑣𝑆𝑥
𝑤𝑆𝑥
(
Введём обозначения
𝑆𝑦 β2
𝑢𝑆𝑦
𝑢𝑆𝑥 + 2𝑣𝑆𝑦 + 𝑤𝑆𝑧
𝑤𝑆𝑦
𝑆𝑧 β2
𝑢𝑆𝑧
𝑣𝑆𝑧
𝑢𝑆𝑥 + 𝑣𝑆𝑦 + 2𝑤𝑆𝑧
𝑐 = 𝑢𝑆𝑥 + 𝑣𝑆𝑦 + 𝑤𝑆𝑧 ,
𝑆 = 𝛽 2 (𝑆𝑥2 + 𝑆𝑦2 + 𝑆𝑧2 )
Якобиан 𝐴 имеет четыре собственных значения
𝑐
𝑐
𝑐 − √𝑐 2 + 𝑆
𝑐 + √𝑐 2 + 𝑆
Матрица собственных значений якобиана 𝐴 имеет вид
𝑐
0
|Λ| = (
0
0
0
𝑐
0
0
0
0
𝑐 − √𝑐 2 + 𝑆
0
0
0
)
0
𝑐 + √𝑐 2 + 𝑆
Матрица собственных векторов якобиана 𝐴 имеет вид
𝑋 =
(
𝑆
0
− 𝑆𝑧
0
0
1
−𝑆
1
0
xyz+𝑎𝑢𝑆𝑥 +𝑎𝑣𝑆𝑦 +𝑎𝑤𝑆𝑧
𝑥−𝑎𝑆𝑥
𝑦−𝑎𝑆𝑦
𝑧−𝑎𝑆𝑧
xyz−𝑎𝑢𝑆𝑥 −𝑎𝑣𝑆𝑦 −𝑎𝑤𝑆𝑧
𝑧−𝑎𝑆𝑧
𝑥+𝑎𝑆𝑥
𝑧−𝑎𝑆𝑧
𝑦+𝑎𝑆𝑦
𝑧+𝑎𝑆𝑧
𝑧+𝑎𝑆𝑧
𝑧+𝑎𝑆𝑧
Где 𝑎, 𝑥, 𝑦, 𝑧, 𝑥𝑦𝑧 имеют следующий вид
𝑥
𝑆𝑦
𝑥
1
1)
)
2
𝑎 = √(𝑢𝑆𝑥 + 𝑣𝑆𝑦 + 𝑤𝑆𝑧 ) + (𝑆𝑥2 + 𝑆𝑦2 + 𝑆𝑧2 )𝛽 2 ,
𝑥 = −𝑣𝑆𝑥 𝑆𝑦 + 𝑢𝑆𝑦2 − 𝑤𝑆𝑥 𝑆𝑧 + 𝑢𝑆𝑧2 ,
𝑦 = 𝑣𝑆𝑥2 − 𝑢𝑆𝑥 𝑆𝑦 − 𝑤𝑆𝑦 𝑆𝑧 + 𝑣𝑆𝑧2 ,
𝑧 = 𝑤𝑆𝑥2 + 𝑤𝑆𝑦2 − 𝑢𝑆𝑥 𝑆𝑧 − 𝑣𝑆𝑦 𝑆𝑧 ,
xyz = 𝑢2 𝑆𝑥2 + 2𝑢𝑣𝑆𝑥 𝑆𝑦 + 𝑣 2 𝑆𝑦2 + 2𝑢𝑤𝑆𝑥 𝑆𝑧 + 2𝑣𝑤𝑆𝑦 𝑆𝑧 + 𝑤 2 𝑆𝑧2 + 𝑆𝑥2 𝛽BC + 𝑆𝑦2 𝛽BC + 𝑆𝑧2 𝛽BC .
2.3.3 Полиномиальная аппроксимация
2.3.3.1 Аппроксимация переменных в трёхмерном случае
Точность вычисления потоков в равной мере определяется и точностью
квадратурной формулы (типа Гаусса) и точностью аппроксимации значений
переменных в точках. Рассмотрим процедуру построения аппроксимационного
полинома произвольного порядка.
Так как значения переменных в центрах ячеек суть осреднённые значения
по всей ячейке, то интерполирование здесь применять не целесообразно. В
данной ситуации себя оправдывает процедура построения аппроксимации,
обеспечивающей наилучшее среднеквадратическое приближение.
Для того, чтобы обеспечить (𝑠 + 1) - ый порядок точности, неизвестная
функция в каждой ячейке аппроксимируется полиномом Тейлора с учётом
слагаемых до порядка 𝑠 включительно (предполагается, что размер ячейки мал).
В трёхмерном случае это представление будет иметь следующий вид:
𝑞(𝑥, 𝑦, 𝑧) =
+
𝑞(𝑥0 , 𝑦0 , 𝑧0 ) +
𝑠
∑𝑛=1 ∑𝑛𝑘=0 ∑𝑛−𝑘
𝑙=0 𝑇𝑛𝑘𝑙
𝐷𝑛𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑛−𝑘−𝑙 (𝑦 − 𝑦0 )𝑙 (𝑧 − 𝑧0 )𝑘 ,
где 𝑞 − аппроксимируемая функция, 𝑥0 , 𝑦0 , 𝑧0 − координаты
𝑠 − порядок аппроксимации, 𝐷𝑛𝑘𝑙 – частная производная от 𝑞,
(40)
центра ячейки,
1
𝑇𝑛𝑘𝑙 = 𝑘!𝑙!(𝑛−𝑘−𝑙)!
𝐷𝑛𝑘𝑙 (𝑞) =
𝜕𝑛 𝑞
𝜕𝑥 𝑛−𝑘−𝑙 𝜕𝑦 𝑙 𝜕𝑧 𝑘
.
Коэффициент 𝑇𝑛𝑘𝑙 получен делением триномиального коэффициента [1] на
𝑛!, присутствующий в стандартной записи ряда Тейлора.
Коэффициенты (40) должны находиться как решение задачи минимизации
квадрата нормы невязки [5], которая приводит к методу наименьших квадратов.
Так как данных о гладкости функции у нас нет, коэффициенты полинома
необходимо переопределить, в аппроксимации порядка 𝑠 содержится 𝑁
неизвестных коэффициентов, которые являются производными от 𝑞 ,
посчитанными в центре ячейки:
𝑁=
(𝑠+1)(𝑠+2)(2𝑠+6)
12
− 1.
Чтобы составить переопределённую систему, необходимо взять 𝑀 > 𝑁
ближайших ячеек и подставить координаты их центров в (40). Получим:
𝑞(𝑥0 , 𝑦0 , 𝑧0 ) =
∑𝑠𝑛=1 ∑𝑛𝑘=0 ∑𝑛−𝑘
𝑙=0 𝑇𝑛𝑘𝑙
𝑞(𝑥𝑝 , 𝑦𝑝 , 𝑧𝑝 ) −
=
где 𝑥𝑝 , 𝑦𝑝 , 𝑧𝑝 – координаты центра
(𝑥𝑝 − 𝑥0 ), ∆𝑦𝑝 = (𝑦𝑝 − 𝑦0 ), ∆𝑧𝑝 = (𝑧𝑝 − 𝑧0 ).
(41)
𝐷𝑛𝑘𝑙 (𝑞) ∆𝑥𝑝𝑛−𝑘−𝑙 ∆𝑦𝑝𝑙 ∆𝑧𝑝𝑘 ,
𝑝 − той ближайшей ячейки, ∆𝑥𝑝 =
Представим полученную прямоугольную систему (41) в виде
𝐴𝑞⃗ = ∆𝑞⃗ ,
𝑤1 ∆𝑥1
𝐴=( …
𝑤𝑀 ∆𝑥𝑀
𝑤1 ∆𝑦1
…
𝑤𝑀 ∆𝑦𝑀
(42)
𝑤1 ∆𝑧1
…
𝑤𝑀 ∆𝑧𝑀
𝑤1 ∆𝑥12
…
2
𝑤𝑀 ∆𝑥𝑀
𝑤1 ∆𝑥1 ∆𝑦1
…
𝑤𝑀 ∆𝑥𝑀 ∆𝑦𝑀
…
…
…
𝑞⃗ = {𝑞𝑥 , 𝑞𝑦 , 𝑞𝑧 , 𝑞𝑥𝑥 , 𝑞𝑥𝑦 , 𝑞𝑥𝑧 , 𝑞𝑦𝑦 , 𝑞𝑦𝑧 , 𝑞𝑧𝑧 … … ,
𝑤1 ∆𝑧1𝑠
… ),
𝑠
𝑤𝑀 ∆𝑧𝑀
𝜕𝑠 𝑞 𝑇
𝜕𝑧 𝑠
}
(43)
∆𝑞⃗ = {𝑤1 (𝑞1 − 𝑞0 ), 𝑤2 (𝑞2 − 𝑞0 ), … , 𝑤𝑀 (𝑞𝑀 − 𝑞0 )}𝑇 ,
где 𝑞⃗ - вектор-столбец неизвестных размера 𝑁 × 1 , ∆𝑞⃗ – вектор – столбец
правых частей размера 𝑀 × 1, 𝐴– матрица системы МНК, размера 𝑀 × 𝑁, 𝑀 −
количество
используемых
в
аппроксимации
ячеек,
𝑀>𝑁
,
𝑤1 … 𝑤𝑀 −геометрические веса ячеек относительно данной,
1
𝑤𝑝 = (∆𝑥 2 +∆𝑦 2 +∆𝑧 2 )
𝑝
𝑝
(44)
𝑝
Геометрические веса вводятся для
расположенных ячеек на аппроксимацию [4].
снижения
влияния
далеко
Система (42) имеет больше уравнений чем неизвестных, что по теории
СЛАУ означает, что точного решения такой системы не существует, и возможно
найти такой вектор 𝑞, который доставит минимум норме невязки,
‖𝐴𝑞⃗ − ∆𝑞⃗ ‖ → 𝑚𝑖𝑛.
(45)
Умножение системы (42) слева на псевдообратную матрицу 𝐴+ ,
определяемую с помощью сингулярного разложения, позволяет найти решение,
удовлетворяющее условию (45), в явном виде. Получим:
𝐴+ 𝐴𝑞⃗ = 𝐴+ ∆𝑞⃗ ↔ 𝑞⃗ = 𝐴+ ∆𝑞⃗
(46)
Представив 𝐴+ в виде:
𝐴+ =
С𝑥1
С𝑥2
…
C𝑥𝑀
С𝑦1
С𝑦2
…
C𝑦𝑀
…
…
…
…
С𝑧 𝑠 2
…
(С𝑧 𝑠 1
,
(47)
С𝑧 𝑠 𝑀 )
распишем выражение (46):
𝐴+ (𝑞⃗𝑝 − 𝑞⃗0 ) = 𝐴+ 𝑞⃗𝑝 − 𝐴+ 𝑞⃗0 =
𝑀
T
𝑀
𝑀
𝑀
T
= {∑ 𝐶𝑥𝑝 𝑤𝑝 𝑞𝑝 , … , ∑ 𝐶𝑧 𝑠𝑝 𝑤𝑝 𝑞𝑝 } − 𝑞0 {∑ 𝐶𝑥𝑝 𝑤𝑝 , … , ∑ 𝐶𝑧 𝑠𝑝 𝑤𝑝 } =
𝑝=1
𝑝=1
𝑀
𝑝=1
𝑀
𝑝=1
𝑀
𝑀
T
= {∑ 𝐶𝑥𝑝 𝑤𝑝 𝑞𝑝 − 𝑞0 ∑ 𝐶𝑥𝑝 𝑤𝑝 , … , ∑ 𝐶𝑧 𝑠𝑝 𝑤𝑝 𝑞𝑝 − 𝑞0 ∑ 𝐶𝑧 𝑠𝑝 𝑤𝑝 } .
𝑝=1
𝑝=1
𝑝=1
𝑝=1
Таким образом, коэффициенты 𝐷𝑛𝑘𝑙 (𝑞) могут быть найдены по формуле:
𝑀
𝑀
𝐷𝑛𝑘𝑙 (𝑞) = ∑𝑝=1 𝐶#𝑝 𝑤𝑝 𝑞𝑝 − 𝑞0 ∑𝑝=1 𝐶#𝑝 𝑤𝑝 ,
(48)
где на место # следует подставить конкретное выражение для производной
от 𝑞 из (40). Подставив (48) в (40) и приведя подобные слагаемые при 𝑞𝑝 , получим
выражение для значения 𝑞 в любой точке ячейки:
𝑞=
+
𝑛
𝑛−𝑘
𝑠
𝑛−𝑘−𝑙
[1 − (∑𝑀
∆𝑦 𝑙 ∆𝑧 𝑘 )]𝑞0
𝑝=1 ∑𝑛=1 ∑𝑘=0 ∑𝑙=0 𝑇𝑛𝑘𝑙 𝐶#𝑝 𝑤𝑝 ∆𝑥
+
𝑛−𝑘
𝑛
𝑠
𝑛−𝑘−𝑙
∑𝑀
∆𝑦 𝑙 ∆𝑧 𝑘 ]𝑞𝑝 ,
𝑝=1 [∑𝑛=1 ∑𝑘=0 ∑𝑙=0 𝑇𝑛𝑘𝑙 𝐶#𝑝 𝑤𝑝 ∆𝑥
(49)
где ∆𝑥, ∆𝑦, ∆𝑧 − проекции расстояния до точки ячейки, в которой нужно
получить значение переменной.
Отметим, что в ситуации, когда потребуется вычислять значения нескольких
переменных в различных точках ячейки, не придётся строить аппроксимацию для
каждой переменной в отдельности. Так как по формуле (49) можно будет получить
значения для каждой переменной, подставив туда различные наборы {𝑞0 , … , 𝑞𝑀 } ,
ибо коэффициенты, стоящие перед {𝑞0 , … , 𝑞𝑀 } в (49) зависят лишь от геометрии
сетки.
Это позволит избежать решения СЛАУ на каждом шаге для каждой
переменной в каждой ячейке, что уменьшает вычислительные затраты на
аппроксимацию. Матрица 𝐴+ строится для каждой ячейки один раз до начала
итераций по времени, и затем на каждом шаге по времени значения на границах
ячейки ищутся по формуле (2.20).
2.3.3.2 Аппроксимация переменных в двумерном случае
Все описанные выше действия можно произвести в двумерном случае и
получить аналогичные формулы. Аппроксимационный полином запишется в виде:
𝑞(𝑥, 𝑦) =
+
𝑞(𝑥0 , 𝑦0 ) +
∑𝑠𝑘=0 ∑𝑠−𝑘
𝑙=0 𝐵𝑘𝑙
(50)
𝐷𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑘−𝑙 (𝑦 − 𝑦0 )𝑘 ,
где
𝐵𝑠𝑘 =
1
𝑙! (𝑘 − 𝑙)!
Неизвестных коэффициентов в этом разложении будет:
𝑁=
𝑠(𝑠 + 3)
.
2
Веса для значений в соседних ячейках буду записаны в виде:
𝑤𝑝 =
(∆𝑥𝑝2
1
+ ∆𝑦𝑝2 )
Окончательная формула для значения переменной в некоторой
ячейки будет иметь вид:
𝑀
𝑞=
𝑛 𝑛−𝑘
[1 − (∑ ∑ ∑ 𝐵𝑠𝑘 𝐶#𝑝 𝑤𝑝 ∆𝑥 𝑠−𝑘 ∆𝑦 𝑘 )] 𝑞0
𝑝=1 𝑘=0 𝑙=0
𝑀
+
𝑛 𝑛−𝑘
∑[∑ ∑ 𝐵𝑠𝑘 𝐶#𝑝 𝑤𝑝 ∆𝑥 𝑠−𝑘 ∆𝑦 𝑘 ]𝑞𝑝 ,
𝑝=1 𝑘=0 𝑙=0
2.3.3.3 Ограничивающий множитель
+
точке
Построенная полиномиальная аппроксимация монотонна в том случае,
если значения аппроксимационной функции на границах ячеек не выходят за
пределы средних значений соответствующей переменной в соседних ячейках.
Для обеспечения монотонности аппроксимации некоторой скалярной переменной
𝑞 применим ограничивающий множитель Φ. При вычислении 𝑞 𝐿 и 𝑞 𝑅 , вместо (40 и
50) будем использовать выражения:

для двумерного случая
𝑞 𝐿 = 𝑞𝑖 + Φ𝑖 (∑𝑠𝑘=0 ∑𝑠−𝑘
𝑙=0 𝐵𝑠𝑘 𝐷𝑠𝑘 (𝑞)𝑖 (𝑥(𝑖,𝑗) − 𝑥𝑖 )
𝑠−𝑘
𝑞 𝑅 = 𝑞𝑗 + Φ𝑗 (∑𝑠𝑘=0 ∑𝑠−𝑘
𝑙=0 𝐵𝑠𝑘 𝐷𝑠𝑘 (𝑞)𝑗 (𝑥(𝑖,𝑗) − 𝑥𝑗 )

𝑠−𝑘
𝑘
(𝑦(𝑖,𝑗) − 𝑦𝑖 ) )
𝑖
𝑘
(𝑦(𝑖,𝑗) − 𝑦𝑗 ) )
𝑗
для трёхмерного случая
𝑞 𝐿 = 𝑞𝑖 + Φ𝑖 (∑𝑠𝑛=1 ∑𝑛𝑘=0 ∑𝑛−𝑘
𝑙=0 𝑇𝑛𝑘𝑙 𝐷𝑛𝑘𝑙 (𝑞)𝑖 (𝑥(𝑖,𝑗) − 𝑥𝑖 )
𝑛−𝑘−𝑙
𝑙
(𝑦(𝑖,𝑗) − 𝑦𝑖 ) (𝑧(𝑖,𝑗) −
𝑘
𝑧𝑖 ) )
𝑖
𝑞 𝑅 = 𝑞𝑗 + Φ𝑗 (∑𝑠𝑛=1 ∑𝑛𝑘=0 ∑𝑛−𝑘
𝑙=0 𝑇𝑛𝑘𝑙 𝐷𝑛𝑘𝑙 (𝑞)𝑗 (𝑥(𝑖,𝑗) − 𝑥𝑗 )
𝑛−𝑘−𝑙
𝑙
(𝑦(𝑖,𝑗) − 𝑦𝑗 ) (𝑧(𝑖,𝑗) −
𝑘
𝑧𝑗 ) )
𝑗
Индексы 𝑖, 𝑗 указывают, какой аппроксимационный полином используется.
В качестве ограничивающего множителя в 𝑖 -ой ячейке принимается
минимальное из значений, вычисленных для границ с каждой соседней 𝑗 -ой
ячейкой по следующему правилу
𝑞 max −𝑞𝑖
min (1, 𝑞
)
при 𝑞(𝑖,𝑗) − 𝑞𝑖 > 0
Φ𝑖 = min (1, 𝑞𝑚𝑖𝑛 −𝑞𝑖 )
𝑞
−𝑞
при 𝑞(𝑖,𝑗) − 𝑞𝑖 < 0
(𝑖,𝑗) −𝑞𝑖
(𝑖,𝑗)
{1
𝑖
при 𝑞(𝑖,𝑗) − 𝑞𝑖 = 0
где 𝑞 max и 𝑞 min − максимальное и минимальное значение переменной по
ячейкам, соседним с 𝑖 -ой ячейкой, 𝑞(𝑖,𝑗)
− значение полиномиальной
аппроксимации в точке границы, вычисленное при Φ𝑖 = 1.
Очевидно, что ограничивающие множители для переменных 𝑝 , 𝑢 , 𝑣 и 𝑤
будут различными. Поэтому ограничивающий множитель для вектора переменных
решения 𝑞 будет представлять собой диагональную матрицу
Φ𝑝
0
Φ=[
0
0
0
Φ𝑢
0
0
0
0
Φ𝑣
0
0
0
]
0
Φ𝑤
где Φ𝑝 , Φ𝑢 , Φ𝑣 , Φ𝑤 − ограничивающие множители, вычисленные для
соответствующих скалярных переменных.
2.3.3.4 Аппроксимация производных
Кроме аппроксимации переменных существует также необходимость
аппроксимировать значения производных от этих переменных по 𝑥, 𝑦, 𝑧 в
некоторой точке ячейки. Аппроксимация производных может быть получена путём
дифференцирования (2.11) или (2.21) по необходимой пространственной
переменной. Выражения для полиномов, аппроксимирующих производные будут
следующими:

двумерный случай
𝑠 𝑠−𝑘
𝑞(𝑥, 𝑦)′𝑥 = ∑ ∑ 𝐵𝑘𝑙 (𝑘 − 𝑙) 𝐷𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑘−𝑙−1 (𝑦 − 𝑦0 )𝑘
𝑘=0 𝑙=0
𝑠 𝑠−𝑘
𝑞(𝑥, 𝑦)′𝑦
= ∑ ∑ 𝐵𝑘𝑙 (𝑘)𝐷𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑘−𝑙 (𝑦 − 𝑦0 )𝑘−1
𝑘=0 𝑙=0

трёхмерный случай
𝑠
𝑞(𝑥, 𝑦, 𝑧)′𝑥
=
𝑛 𝑛−𝑘
∑ ∑ ∑ 𝑇𝑛𝑘𝑙 (𝑛 − 𝑘 − 𝑙)𝐷𝑛𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑛−𝑘−𝑙−1 (𝑦 − 𝑦0 )𝑙 (𝑧 − 𝑧0 )𝑘
𝑛=1 𝑘=0 𝑙=0
𝑠
𝑞(𝑥, 𝑦, 𝑧)′𝑦
=
𝑛 𝑛−𝑘
∑ ∑ ∑ 𝑇𝑛𝑘𝑙 𝑙 𝐷𝑛𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑛−𝑘−𝑙 (𝑦 − 𝑦0 )𝑙−1 (𝑧 − 𝑧0 )𝑘
𝑛=1 𝑘=0 𝑙=0
𝑠
𝑞(𝑥, 𝑦, 𝑧)′𝑧
=
𝑛 𝑛−𝑘
∑ ∑ ∑ 𝑇𝑛𝑘𝑙 𝑘 𝐷𝑛𝑘𝑙 (𝑞)(𝑥 − 𝑥0 )𝑛−𝑘−𝑙 (𝑦 − 𝑦0 )𝑙 (𝑧 − 𝑧0 )𝑘−1
𝑛=1 𝑘=0 𝑙=0
Используя выражение (48) можно получить для конкретной производной
аналогичное (49) выражение, которое даст явную зависимость производных от
значений аппроксимируемых переменных в используемых для аппроксимации
ячейках.
2.3.3 Аппроксимация вязкого потока
Определим градиент вектора переменных решения на границе между 𝑖-й и
𝑗-й контрольными ячейками как взвешенное среднее значений градиентов в этих
ячейках
(∇ 𝑞 )(𝑖,𝑗) =
𝑆𝑖 (∇ 𝑞 )𝑖 + 𝑆𝑗 (∇ 𝑞 )𝑗
𝑆𝑖 + 𝑆𝑗
Найдем вязкий поток через границу между 𝑖-й и 𝑗-й ячейками, подставляя в
формулу вязкого потока значения компонентов градиента на этой границе.
2.3.3.1 Выражения для двухмерного случая
Перепишем выражение для вязкого потока следующим образом
0
𝑅 ( 𝑞 ) = 𝜈Σ (2𝑆𝑥 𝑢𝑥 + 𝑆𝑦 (𝑢𝑦 + 𝑣𝑥 )) = 𝜈Σ ( 𝐵 𝑥 𝑞 𝑥 + 𝐵 𝑦 𝑞 𝑦 )
𝑆𝑥 (𝑢𝑦 + 𝑣𝑥 ) + 2𝑆𝑦 𝑣𝑦
где 𝜈Σ = (1/𝑅𝑒 + 𝜈𝑡 ), матрицы 𝐵 𝑥 и 𝐵 𝑦 имеют вид
𝐵𝑥
0
= [0
0
0
2𝑆𝑥
0
0
𝑆𝑦 ] ,
𝑆𝑥
𝐵𝑦
0
= [0
0
0
𝑆𝑦
𝑆𝑥
0
0 ]
2𝑆𝑦
2.3.3.2 Выражения для трехмерного случая
Были получены следующие выражения для трехмерного случая.
Перепишем выражение для вязкого потока следующим образом
0
2𝑆𝑥 𝑢𝑥 + 𝑆𝑦 (𝑢𝑦 + 𝑣𝑥 ) + 𝑆𝑧 (𝑤𝑥 + 𝑢𝑧 )
𝑅 ( 𝑞 ) = 𝜈Σ 𝑆 (𝑢 + 𝑣 ) + 2𝑆 𝑣 + 𝑆 (𝑤 + 𝑣 )
𝑥
𝑦
𝑥
𝑦 𝑦
𝑧
𝑦
𝑧
=
(𝑆𝑥 (𝑢𝑧 + 𝑤𝑥 ) + 𝑆𝑦 (𝑣𝑧 + 𝑤𝑦 ) + 2𝑤𝑧 𝑆𝑧 )
= 𝜈Σ ( 𝐵 𝑥 𝑞 𝑥 + 𝐵 𝑦 𝑞 𝑦 + 𝐵 𝑧 𝑞 𝑧 )
где 𝜈Σ = (1/𝑅𝑒 + 𝜈𝑡 ), матрицы 𝐵x , 𝐵y , 𝐵𝑧 имеют вид
𝐵𝑥
0
0
=[
0
0
0
2𝑆𝑥
0
0
0
𝑆𝑦
𝑆𝑥
0
0
0
0
𝑆𝑧
], 𝐵 𝑦 = 0
0
𝑆𝑥
[0
0
𝑆𝑦
𝑆𝑥
0
0
0
2𝑆𝑦
0
0
0 0
0
0 𝑆𝑧
,
𝐵
=
[
𝑧
𝑆𝑧
0 0
0 𝑆𝑥
𝑆𝑦 ]
0
0
𝑆𝑧
𝑆𝑦
0
0
0 ]
2𝑆𝑧
2.3.4 Граничные условия
2.3.4.1 Граничные условия
Граница расчетной области подразделяется на участки, соответствующие
твердой стенке, входу и выходу. Рассмотрим граничные условия, задаваемые на
участках каждого типа.
Задаются граничные условия для физических переменных: 𝑝 − давление, 𝑢,
𝑣, 𝑤 − компоненты скорости.
Вход:
∂𝑝
∂𝑛
Тверд
ая стенка:
∂𝑝
∂𝑛
Выхо
= 0, 𝑢 = 𝑢0 , 𝑣 = 𝑣0 , 𝑤 = 𝑤0
= 0, 𝑢 = 𝑣 = 𝑤 = 0
∂𝑢
∂𝑣
𝑝 = 0, ∂𝑛 = ∂𝑛 =
д:
∂𝑤
∂𝑛
=0
где (𝑢0 , 𝑣0 , w0 ) -- входной профиль скорости.
2.3.4.3 Начальные условия
Во всей расчетной области значения физических переменных (давления и
компонентов скорости), а также переменные моделей турбулентности
принимаются равными нулю
𝑝𝑖0 = 0,
𝑢𝑖0 = 𝑣𝑖0 = 0,
𝜈̃𝑖0 = 0
2.4 Неявная дискретизация по времени
Для
расчета
нестационарного
течения
методом
искусственной
сжимаемости применяется техника двойных шагов по времени (dual time-stepping)
[33]. Внешние итерации осуществляют интегрирование уравнений сохранения
количества движения по физическому времени при помощи неявной схемы
Эйлера второго порядка точности. Внутренние итерации осуществляют
интегрирование всей системы уравнений метода искусственной сжимаемости по
искусственному времени, при помощи неявной схемы первого первого порядка.
После дискретизации по пространству, вне зависимости от примененного
способа, векторное уравнение для 𝑖 -й контрольной ячейки, записанное
относительно вектора переменных решения, будет иметь вид
𝑆𝑖
∂ 𝑞𝑖
∂𝑡
+ 𝐹 − 𝑅 =0
(51)
где 𝐹 , 𝑅 -- суммарные потоки по всем участкам границы ячейки, 𝑆𝑖 -площадь ячейки.
Данное уравнение соответствует системе скалярных уравнений,
включающей уравнение неразрывности с искусственной сжимаемостью и
уравнения сохранения количества движения. Применим неявную схему Эйлера
второго порядка для интегрирования уравнений сохранения количества движения
по физическому времени 𝑡
𝑆
𝐼 𝑚 Δ𝑡𝑖 (1.5 𝑞 𝑛+1 − 2 𝑞 𝑛 + 0.5 𝑞 𝑛−1 ) = 𝑅 𝑛+1 − 𝐹 𝑛+1
(52)
где Δ𝑡 -- шаг по физическому времени, индекс 𝑛 + 1 обозначает текущую
итерацию, индекс 𝑛 , 𝑛 − 1 обозначают предыдущие итерации по физическому
времени. Матрица 𝐼 𝑚 , предназначена для исключения уравнения неразрывности
𝐼 𝑚 = 𝑑𝑖𝑎𝑔 (0, 1, 1)
Для интегрирования по искусственному времени 𝜏 введем дополнительные
внутренние итерации с индексом 𝑚 и применим неявную схему Эйлера первого
порядка
𝑆𝑖 𝐼 𝜏𝑡 ( 𝑞 𝑛+1,𝑚+1 − 𝑞 𝑛+1,𝑚 )
𝑅 𝑛+1,𝑚+1 − 𝐹 𝑛+1,𝑚+1 −
=
1
− 𝐼 𝑚 Δ𝑡 (1.5 𝑞 𝑛+1,𝑚 − 2 𝑞 𝑛 + 0.5 𝑞 𝑛−1 )
где матрица 𝐼 𝜏𝑡 имеет вид
𝐼 𝜏𝑡 = 𝑑𝑖𝑎𝑔 (1/Δ𝜏, 1.5/Δ𝑡, 1.5/Δ𝑡)
Осуществим линеаризацию невязкого и вязкого потоков через границу
ячейки по искусственному времени
𝑅 𝑛+1,𝑚+1 = 𝑅 𝑛+1,𝑚 + ∂ 𝑅 () ∂ 𝑞 𝑛+1,𝑚 Δ 𝑞
𝐹 𝑛+1,𝑚+1 = 𝐹 𝑛+1,𝑚 + ∂ 𝐹 () ∂ 𝑞 𝑛+1,𝑚 Δ 𝑞
(53)
где Δ 𝑞 = 𝑞 𝑛+1,𝑚+1 − 𝑞 𝑛+1,𝑚 . Подставляя линеаризованные потоки в
выражение для метода Эйлера, получим уравнение относительно Δ 𝑞
[𝑆𝑖 𝐼 𝜏𝑡 + ∂ 𝐹 () ∂ 𝑞 𝑛+1,𝑚 − ∂ 𝑅 () ∂ 𝑞 𝑛+1,𝑚 ]Δ 𝑞 =
= 𝑅 𝑛+1,𝑚 − 𝐹 𝑛+1,𝑚 −
1
− 𝐼 𝑚 Δ𝑡 (1.5 𝑞 𝑛+1,𝑚 − 2 𝑞 𝑛 + 0.5 𝑞 𝑛−1 )
Правая часть уравнения вычисляется по известным значеням
𝑛
𝑞 , 𝑞 𝑛−1 при помощи аппроксимаций, рассмотренных выше.
(54)
𝑞 𝑛+1,𝑚 ,
Уравнения вида (94), записанные для каждой ячейки, образуют систему,
позволяющую вычислить приращения вектора переменных решения Δ 𝑞 в
каждой ячейке, переходя к следующей итерации по искусственному времени по
формуле
𝑞 𝑛+1,𝑚+1
= 𝑞 𝑛+1,𝑚
+Δ 𝑞𝑖
𝑖
𝑖
Условием прекращения итераций по искуственному времени может служить
как достижение заданного количества итераций 𝑀, так и выполнение критерия
сходимости решения: минимальное значение нормы правой части уравнения
должно быть меньше заранее заданной величины 𝜀
min ∥ 𝑅 𝑛+1,𝑚
− 𝐹 𝑛+1,𝑚
∥< 𝜀
𝑖
𝑖
𝑖
При
достижении
сходимости
решения
по
внутренним
шагам,
осуществляется переход на следующий шаг физического времени по следующим
формулам
𝑞 𝑛−1 = 𝑞 𝑛 ,
𝑞 𝑛 = 𝑞 𝑛+1,𝑚
Остается выразить величины (∂ 𝐹 / ∂ 𝑞 )Δ 𝑞 и (∂ 𝑅 / ∂ 𝑞 )Δ 𝑞 через
узловые значения Δ 𝑞 , тем самым получая систему алгебраических уравнений
относительно Δ 𝑞 .
Для перехода к соответствующей системе линейных алгебраических
уравнений (СЛАУ) относительно Δ 𝑞 , необходимо выразить величины вида
(∂ 𝐹 / ∂ 𝑞 )Δ 𝑞 и (∂ 𝑅 / ∂ 𝑞 )Δ 𝑞 через узловые значения Δ 𝑞 при помощи
рассмотренных ранее методов аппроксимации невязкого и вязкого потоков.
Используя выражение для невязкого потока через границу между 𝑖-й и 𝑗-й
ячейками, находим
∂𝐹
(∂𝑞 Δ 𝑞 )
1
(𝑖,𝑗)
= 2 [ 𝐴r Δ 𝑞𝑟 + 𝐴𝑙 Δ 𝑞𝑙 + |𝐴|(𝑖,𝑗) (Δ 𝑞r − Δ 𝑞𝑙 )]
(55)
где матрицы 𝐴𝑙 , 𝐴𝑟 , | 𝐴 |(𝑖,𝑗) вычисляются по известным значениям 𝑞𝑟 , 𝑞𝑙
на предыдущей итерации.
Используя выражение первого порядка точности для вязкого потока через
границу между 𝑖 -й и 𝑗 -й ячейками, полученное при помощи центральноразностного метода, находим
∂𝑅
(∂𝑞 Δ𝑞 )
(𝑖,𝑗)
= S𝜈Σ 𝐵𝑟 (Δ 𝑞𝑟 − Δ 𝑞𝑙 )
(56)
4.3.3 Получение скалярных уравнений из матричного
Матричное уравнение для 𝑖 -й контрольной ячейки, записанное
относительно приращения вектора переменных решения Δ 𝑞 имеет вид
∑𝑗
𝑀 𝑗Δ 𝑞 𝑗 = 𝐺 𝑗
(57)
Здесь индекс 𝑗 обозначает суммирование по тем ячейкам, которым
принадлежат Δ 𝑞 , входящие в уравнение для 𝑖-й ячейки
Δ𝑝𝑗
Δ 𝑞 𝑗 = (Δ𝑢𝑗 ) ,
Δ𝑣𝑗
𝑚0
𝑗
𝑚1
𝑀 𝑗 = [𝑚3𝑗
𝑚4
𝑗
𝑚7
𝑚6
𝑗
𝑚2
𝑗
𝑗
𝑚5 ] ,
𝑗
𝑚8
𝑗
𝑔0
𝑗
𝐺 𝑗 = [𝑔1𝑗 ]
𝑗
𝑗
𝑔2
Перемножая матрицу и вектор в (103), получаем
𝑗
𝑗
𝑗
𝑚0 Δ𝑝𝑗 + 𝑚1 Δ𝑢𝑗 + 𝑚2 Δ𝑣𝑗
𝑗
𝑔0
∑𝑗 (𝑚3𝑗 Δ𝑝𝑗 + 𝑚4𝑗 Δ𝑢𝑗 + 𝑚5𝑗 Δ𝑣𝑗 ) = (𝑔1𝑗 )
𝑗
𝑗
𝑗
𝑚6 Δ𝑝𝑗 + 𝑚7 Δ𝑢𝑗 + 𝑚8 Δ𝑣𝑗
𝑗
𝑔2
Что соответствует трем скалярным уравнениям
∑𝑗 (𝑚0𝑗 Δ𝑝𝑗 + 𝑚1𝑗 Δ𝑢𝑗 + 𝑚2𝑗 Δ𝑣𝑗 ) = 𝑔0𝑗
∑𝑗 (𝑚3𝑗 Δ𝑝𝑗 + 𝑚4𝑗 Δ𝑢𝑗 + 𝑚5𝑗 Δ𝑣𝑗 ) = 𝑔1𝑗
∑𝑗 (𝑚6𝑗 Δ𝑝𝑗 + 𝑚7𝑗 Δ𝑢𝑗 + 𝑚8𝑗 Δ𝑣𝑗 ) = 𝑔2𝑗
Уравнения данного вида, записанные во всех ячейках, составляют СЛАУ
размерности 3𝐼, где 𝐼 -- общее количество ячеек.
2.5 Расчетные алгоритмы
Разбиение расчетной области на контрольные объемы осуществляется при
помощи неструктурированных треугольных сеток. В качестве основных
переменных выступают средние значения переменных решения (давление и
компоненты скорости потока) по ячейкам сетки, заданные в центральных точках
ячеек. Для представления сетки в памяти выбрана структура ''узлы и
треугольники''.
Построение расчетной сетки осуществляется во внешнем генераторе
(Gambit), после чего данные транслируются во внутренний формат
разработанного программного кода.
2.5.1 Алгоритм расчета установившегося течения
Используется метод искусственной сжимаемости.
• Инициализация физических переменных 𝑞 0𝑖 начальными значениями
• Итерационный процесс (𝑛 = 0,1,2, …) по времени
- Построение вектора правых частей и матрицы СЛАУ относительно
Δ 𝑞 по известным значениям 𝑞 𝑛𝑖
- Численное решение СЛАУ
- Вычисление узловых значений переменных на следующем шаге по
известным значениям 𝑞 𝑛𝑖
- Вычисление узловых значений 𝑞 𝑛+1
на следующей итерации
𝑖
𝑞 𝑛+1
= 𝑞 𝑛𝑖 + Δ 𝑞 𝑖
𝑖
- Проверка достижения сходимости решения
• По завершении итерационного процесса, узловые значения физических
переменных 𝑞 𝑁
𝑖 соответствуют установившемуся течению
2.5.2 Алгоритм расчета нестационарного течения
Используется метод искусственной сжимаемости с двойным шагом по
времени.
• Инициализация физических переменных 𝑞 0𝑖 значениями в начальный
момент физического времени 𝑡0 = 0
• Внешний итерационный процесс (𝑛 = 0,1,2, …) по физическому времени
- Деформация расчетной сетки в соответствие с законом перемещения
обтекаемого тела, вычисление скоростей движения сторон ячеек
- Инициализация переменных
физического времени 𝑡𝑛
𝑞 𝑛+1,0
значениями
𝑖
𝑞 𝑛𝑖 в момент
- Внутренний итерационный процесс (𝑚 = 0,1,2, …) по искусственному
времени
* Построение вектора правых частей и матрицы СЛАУ относительно
Δ 𝑞 по известным узловым значениям 𝑞 𝑛+1,𝑚
, 𝜈̃𝑖𝑛
𝑖
* Численное решение СЛАУ
* Вычисление узловых значений
искусственного времени
𝑞 𝑛+1,𝑚
на следующем шаге
𝑖
𝑞 𝑛+1,𝑚+1
= 𝑞 𝑛+1,𝑚
+Δ𝑞𝑖
𝑖
𝑖
* Проверка достижения сходимости решения по искусственному
времени
- По завершении внутреннего итерационного процесса, узловые
значения переменных 𝑞 𝑛+1,𝑀
соответствуют состоянию течения в момент
𝑖
физического времени 𝑡𝑛+1 = (𝑛 + 1)Δ𝑡
𝑞 𝑛−1
= 𝑞 𝑛𝑖 ,
𝑖
𝑞 𝑛+1
= 𝑞 𝑛+1,𝑀
𝑖
𝑖
• К моменту завершения внешнего итерационного процесса, получена
последовательность состояний течения 𝑞 𝑛𝑖 , 𝜈𝑡𝑖𝑛 в моменты физического времени
𝑡𝑛 = 𝑛Δ𝑡, 𝑛 = 0,1, … , 𝑁
2.6 Программная реализация
2.6.1 Система классов
Используется метод контрольного объема, предполагающий выполнение
законов сохранения в ячейках расчетной сетки. Поэтому в качестве базовых
объектов были выбраны ячейка и её границы. В зависимости от расположения
ячеек по отношению к расчетной области, условий на границах ячеек и
физической
модели
течения,
искомые
величины
вычисляются
по
соответствующим алгоритмам (параграф 2.3.3). Для ячеек и границ были
разработаны соответствующие классы (рис.1), необходимые переменные и
алгоритмы их вычислений – методы класса.




Mesh – класс описывающий расчётную сетку
Element – класс описывающий одну ячейку сетки
Edge – класс описывающий границу ячейки
Node – класс описывающий узел расчётной сетки, как этом классе
базируются два других: Element и Edge.
При построении расчетной сетки каждой границе приписывается
определённый тип в соответствии с поставленной задачей, а для каждой ячейки
указываются её соседи. На стадии выполнения программы, в зависимости от типа
границы, вызываются соответствующие методы класса, и обработка для каждого
типа ячеек выполняется по своему алгоритму.


Для граничных элементов учитывается влияние граничных условий
Дирихле или Неймана
Для внутренних элементов предыдущий шаг пропускается.
Таким образом, уже на стадии построения сетки формируется
математическая модель задачи. Разработанная структура классов позволяет
хранить информацию о расчетной области любой сложности.
Класс «сетки» (Mesh) содержит информацию обо всех своих ячейках, обо
всех гранях, обо всех вершинах. Это позволяет быстро получить доступ к нужной
информации, например при отображении сетки. Каждая ячейка из массива ячеек
сетки несёт в себе информацию о вершинах, на которых она построена и о своих
соседях. Соседом ячейки считаются те ячейки, которые имеют общую грань с
данной ячейкой. Эта информация позволяет создать метод, с помощью которого
можно найти окружения для дальнейшего построения аппроксимации. Алгоритм
построения окружения описан ниже.
1. Сбор первого «слоя» вокруг ячейки, состоящий из её соседей.
2. Сбор второго «слоя» из соседей ячеек от первого «слоя».
3. В случае если не набрали необоримого количества окружения
(параграф 2.3.3), повторить шаги 1,2,3.
4. Высчитывание относительного веса каждой ячейки и их сортировка
по весу.
При построении окружения для выбранной ячейки создаётся массив ячеек
наиболее близко расположенных к данной. Количество ячеек определяется
порядком аппроксимации (параграф 2.3.3). Также каждая ячейка знает, какие
ребра её ограничивают, что позволяет считать поток через неё. Так как одно
ребро может ограничивать две ячейки, то каждая из этих ячеек будет ссылаться
на это ребро.
Рис. 1 Фрагмент расчётной сетки
На базе разработанных классов написана новая версия программы
«SmartFlow» для решения двумерных и трехмерных задач нестационарного
обтекания тел.
Для хранения ячеек, граней и вершин были выбраны массивы из
стандартной библиотеки классов (STL), это позволяет легко изменять размеры
уже существующих массивов и добавлять в них новые элементы.
Для сохранения текущего состояния расчёта «SmartFlow» в файлы,
используется сериализация реализуемая в библиотеке Boost.Serialization. Она
позволяет добавить сериализацию в разработанные классы, просто указав в них
какие данные нужно сохранять, какие нет. Однако она не работает с замкнутыми
ссылками. Поэтому в класс ячеек были введён параметр - номер ячейки и массив
индексов соседей. После загрузки по этому массиву индексов соседей
восстанавливаются прежние связи между элементами. Также реализован экспорт
расчетных результатов в формат пакета визуализации данных «Paraview».
В «SmartFlow» для построения сеток используются внешние редакторы.
Поэтому была разработана специальная структура классов, позволяющая
импортировать сетки из внешних редакторов (в том числе Gambit). Для импорта
неструктурированных сеток из программного комплекса «Gambit» был применен
синтаксический анализатор Boost.Spirit позволяющий описывать синтаксис в
форме Бэкуса—Наура (ISO/IEC 14977:1996(E)). При импорте пользователю
предлагается выбрать соответствие между типами зон Gambit-а и SmartFlow-а.
Рис. 2 Структура классов для расчётной области
Для реализации универсального решателя, который мог бы решать
различные задачи, используя предложенные классы сеток, была разработана
специальная структура классов (рис. 3). Класс «решателя» содержит в себе метод
выполняющий итерации и следящий за тем закончились они или нет, так же этот
метод следит за временем по которому ведутся итерации и на определённых
шагах установленных пользователем делает экспорт полученного на данный
момент решения и бэкапа данных, который, в случае если программа прекратит
решение по какой-либо причине возобновить его не с самого начала, а с точки на
которой был сделан бэкап.
Рис. 3 Диаграмма взаимосвязи сетки и решателя
Универсальность решателя обеспечивается тем, что он может выполнять
итерации для любых уравнений. Для этого создан абстрактный класс модели с
виртуальной функцией цикла (рис. 3). Все наследники этого класса должны
реализовать такую функцию цикла, в которой создают цикл по
нужным
элементам, и другие необходимые функции. При создании экземпляра класса
«решателя» в него передаётся ссылка на нужный класс-наследник модели. А на
каждой итерации вызывается метод цикла этого класса-наследника.
Универсальность «решателя» так же обеспечивается тем, что на базе
имеющихся классов можно разрабатывать новые, использую механизм
наследования.
В «SmartFlow» разработано два класса модели: один для расчёта потока
жидкости, другой для расчета упругой деформации пластины. В сочетании эти
модели позволяют решать прикладную задачу нестационарного обтекания
потоком вязкой несжимаемой жидкости упругого машущего крыла. Уравнения для
расчёта деформации пластины также представлены в форме метода конечных
объемов [43], что позволяет обобщить большинство разработанных для
гидродинамической части функций и на решение упругой задачи.
Рис. 4 Диаграмма взаимосвязи сетки, решателя и интерфейса
Интерфейс в «SmartFlow» был реализован в кроссплатформенном
фреймворке Qt [44]. Для отображения двухмерных и трёхмерных сеток в
программе была
выбрана библиотека OpenGL [45] так же ввиду её
кроссплатформености.
В разработанном интерфейсе отображается информация обо всей сетке в
целом и об отдельной ячейке, выбранной пользователем. В интерфейсе
реализовано отображение графиков изменения параметров решения во времени,
они отображают интегральные характеристики и характеристики отдельно
выбранной ячейки: давление и компоненты скорости. Для отображения хода
решения и выполнения других функций взаимодействия интерфейса и
«решателя» была выбрана техника сигналов и слотов из библиотеки Boost [46].
Применение сигналов и слотов обеспечивает потокобезопасность, что позволяет
выполнять интерфейс в одном потоке, а решение в другом. На предоставленной
диаграмме (рис. 4) отображена взаимосвязь интерфейса с решателем и сеткой.
Таким образом, архитектура программного кода «SmartFlow» обеспечивает
простоту его
модификации, как при расширении спектра задействованных
физических моделей, так и при добавлении новой пользовательской
функциональности.
2.6.2 Препроцессор
Интерфейс в программном коде «SmartFlow» был выполнен с
использованием библиотеки Qt для обеспечения платформонезависимости
приложения. На представленном ниже рисунке изображено главное окно
интерфейса.
Рис. 5 Главное окно
В центральной части окна отображается исходная сетка, загруженная из
внешнего генератора. Грани в сетке окрашены в цвета соответствующие легенде
модели. В модели потока реализовано несколько типов зон жидкость, стенка,
вход, выход окрашенные в голубой, красный, бирюзовый, фиолетовый цвета
соответственно. Для каждой зоны в модели присутствуют граничные условия.
После начала расчёта вместо исходной сетки отображается выбранное
распределение текущих физических параметров: давлений или одна из компонент
скорости. Над сеткой расположены кнопки управления отображением сетки и
кнопки управления решателем. Первые две кнопки отвечают за изменения
масштаба. Третья кнопка за возврат положения сетки и масштаба в начатьное
положение. Четвертая кнопка переключает в трехмерном случае режим
управлением положением плоскости сечения на режим управления камерой и
выбора элементов. Последние две кнопки управляют решателем, запускают
решение и приостанавливают его.
Во время работы решателя также
отображается прогрессбар хода решения.
Сбоку находится панель «Conditions». На ней отображается различная
информация о сетке:


Размерность сетки: двухмерная или трехмерная.
Количество узлов
Информация о выбранной ячейке:



Координаты вершин ячейки
Номера соседей
Номера окружения ячейки
Ниже расположена панель «Variables» с цветовой легендой окраски сетки,
минимальным и максимальным значением переменной. Так же на этой панели
можно выбрать модель (Flow – модель нестационарного обтекания потоком
вязкой несжимаемой жидкости, Plate - модель деформации пластины) для
отображения в окне, и соответствующую переменную для отображения.
Под сеткой расположена панель «Graphics» с графиками расчётных
параметров. Сбоку от окна графиков, расположена легенда, на которой можно
выбрать необходимые для отображения графики. Под графиками находится
элемент управления позволяющий выбрать нужную часть графика для
увеличения. Масштаб графиков меняется динамически в зависимости от
выбранной части для отображения и выбранных графиков.
Сетки в программу загружаются из внешних генераторов. При импорте
сетки из генератора Gambit нужно выставить соответствие его названий типов
границ и типов используемых в «SmartFlow» (рис. 6)
Рис. 6 Форма выставления соответствий зон
В первом столбце перечислены типы полученные из Gambit, в других двух
столбцах расположены модели с перечислениями тех типов, которые в них
используются. Каждому типу соответствуют определённые граничные условия,
различные в разных моделях. Поэтому в случае модели «жидкости» используются
типы «Жидкость» (Fluid), «Стена» (Wall), «Вход» (Inlet), «Выход» (Outlet). В модели
пластины «Пластина» (Plate), «Фиксированный» (Fixed), «Свободный» (Free) [43].
Рис. 7 Форма настроек
Для изменения настроек (рис.7) отображения нужно поставить
соответствующие галочки напротив зоны в форме «Plot > Render Zones». Столбец
«Draw» отвечает за отображение ребёр этой зоны. Столбец «Section» отвечает за
сечение этих зон в трехмерных сетках. Столбец «Lines» за тип отображения:
контурный или сплошной.
Рис. 8 Форма параметров
В начале решения открывается форма, в которой можно указать параметры
для решателя, аппроксимации и используемых моделей (рис. 8).
2.6.2.1 Трехмерный случай
На предоставленных ниже рисунках показано сечение трехмерной сетки
квадратного цилиндра в канале. На виде сбоку (рис. 9) отображено сечение сетки
плоскостью параллельной экрану, вокруг сечения показан прямоугольный
параллелепипед, полностью ограничивающий расчётную сетку. Положение
плоскости сечения можно менять при помощи мыши. Также можно поменять
положение самой сетки, не меняя положение плоскости сечения (рис. 10,11).
Цветом на сетке обозначен тип границ: синим – жидкости, красным – стенка.
Рис. 9 Вид сбоку
Рис. 10 Вид сверху
Рис. 11 Вид под углом 45°
2.6.2.2 Двухмерный случай
В двух мерном случае отображается сетка как же как и в трёх мерном, но
только без сечения. Отображается вся сетка полностью
Рис. 11 Двухмерная сетка
2.7 Основные этапы моделирования течения вязкой жидкости.
3 Верификация расчетного метода
3.1 Оценка сходимости метода
На примере решения задачи ламинарного обтекания кругового двумерного
цилиндра в канале (см. параграф 3.2.2) при Re = 20, продемонстрируем влияние
порядка пространственной аппроксимации слагаемых уравнений Навье-Стокса на
точность вычислений.
Рис. 1: Сходимость коэффициента сопротивления 𝐶𝑑 по итерациям для
методов первого и второго порядков точности
Рис. 2: Влияние разрешения расчетной сетки на точность определения 𝐶𝑑
Рис. 3: Влияние детализации поверхности обтекаемого тела на точность
определения 𝐶𝑑 для методов первого и второго порядков точности
Исходя из графика, приведенного на Рис. 1, можно сделать вывод о том,
что для данной задачи оба метода устойчивы. Зависимости на Рис. 1 и 2
указывают также на более высокую эффективность метода со вторым порядком
аппроксимации.
Рис. 3 свидетельствует о значительном влиянии количества элементов,
аппроксимирующих поверхность обтекаемого тела, на точность расчетного
значения
коэффициента
сопротивления.
Это
связано
с
наличием
рассматриваемом течении (обтекание кругового цилиндра) значительных
градиентов давления на поверхности тела, точность учета которых в
значительной мере определяет конечный результат.
3.2 Результаты тестовых расчетов
В ходе верификации предложенного расчетного метода, были выполнены
решения различных модельных задач в широком диапазоне чисел Рейнольдса, а
именно
• Задача ламинарного обтекания двумерного кругового цилиндра в
канале
• Задача ламинарного обтекания трёхмерного кругового цилиндра в
канале
Как следует из перечня задач, большинство из них относятся к
ламинарному режиму обтекания. Это объясняется тем фактом, что для указанных
задач диапазон чисел Рейнольдса, в котором имеет место адекватность
двумерных задач физической картине обтекания, соответствует ламинарному
режиму течения.
Ниже, в форме интегральных и распределенных гидродинамических
характеристик
течений,
приводятся
полученные
автором
результаты.
Показывается сравнение с экспериментальными и расчетными данными других
авторов.
Рис. 5: Круговой цилиндр в канале. Чертеж расчетной области
Рис. 6: Круговой цилиндр в канале. Пример расчетной сетки (8000 ячеек)
Рис. 7: Круговой цилиндр в канале, 𝑅𝑒 = 20. Распределение давлений по
поверхности цилиндра
3.2.1 Задача обтекания двумерного кругового цилиндра в канале
В качестве первой тестовой задачи выбрана задача формирования
ближнего следа за круговым цилиндром в потоке вязкой несжимаемой жидкости.
Несмотря на кажущуюся простоту задачи и сравнительно большое число
экспериментальных данных, нестационарные эффекты и обусловленные ими
процессы переноса все еще далеки от понимания. Важно отметить, что данная
задача является не только фундаментальной, но и имеет практическое значение,
так как данное течение встречается на практике при обтекании различных
конструкций.
Рассмотрим задачу ламинарного обтекания двумерного кругового,
расположенного несимметрично в канале. Геометрия канала и условия обтекания
выбраны аналогично принятым в работе [35].
Входной профиль скорости (𝑢0 , 𝑣0 ) задается формулой
𝑢(𝑦) = 4𝑢𝑚
𝑦(𝐻−𝑦)
𝐻2
,
𝑣(𝑦) = 0
где 𝑢𝑚 = 𝑢(𝐻/2) , 𝐻 – высота канала, 𝑦 – расстояние от нижней стенки
канала. В качестве характерной длины принят диаметр цилиндра 𝑑
𝑅𝑒 =
̅𝑑
𝑢
𝜈
,
𝑢 = 23 𝑢(𝐻/2)
Течение жидкости вокруг кругового цилиндра при числах Рейнольдса,
меньших некоторого критического числа 𝑅𝑒∗ (в отсутствии загромождения потока
𝑅𝑒∗ = 40), сопровождается возникновением устойчивой пары вихрей в следе за
ним. При 𝑅𝑒, превосходящем 𝑅𝑒∗ , в следе за цилиндром развивается доорожка
Кармана, характеризующаяся периодическим сходом вихрей поочередно с
верхней и нижней сторон поверхности цилиндра. Дальнейшее увеличение числа
Рейнольдса
вызывает
развитие
неустойчивости
Кельвина-Гельмгольца,
признаком которой является появление вторичных вихрей между срывом
основных.
В данной работе для расчетов был выбран диапазон чисел Рейнольдса до
𝑅𝑒 = 250 , так как адекватность решения двумерных уравнений Навье-Стокса
физическим наблюдениям подтверждена именно для этого диапазона [28].
Обтекание кругового цилиндра в канале при 𝑹𝒆 = 𝟐𝟎
Расчет обтекания цилиндра при Re = 20 выявил формирование устойчивой
по времени пары вихрей в следе за цилиндром.
Полученные распределенные характеристики показаны на рисунках ниже.
Результаты сопоставления найденных интегральных гидродинамических
характеристик с диапазонами их значений, приведенными в работе [35]
данная работа
работа [35]
𝐶𝑑
5.58
5.57 − 5.59
𝐶𝑙
0.01
0.0104 − 0.011
Рис. 8: Круговой цилиндр в канале, 𝑅𝑒 = 20. Поля давления, продольной и
поперечной скоростей
Рис. 9: Круговой цилиндр в канале, 𝑅𝑒 = 20. Поле завихренности
Рис. 10: Круговой цилиндр в канале, 𝑅𝑒 = 20. Картина линий тока
Обтекание кругового цилиндра в канале при 𝑹𝒆 = 𝟏𝟎𝟎
Расчет обтекания цилиндра при Re = 100 выявил формирование за
цилиндром вихревого следа вихревого следа. Результаты сравнения
вычисленных интегральных гидродинамических характеристик со значениями,
приведенными в работе [35]
данная работа
работа [35]
𝐶𝑑 𝑚𝑎𝑥
3.25
3.22 − 3.24
𝐶𝑙 𝑚𝑎𝑥
1.04
0.99 − 1.01
𝑆𝑡
0.297
0.295 − 0.305
Рис. 11: Круговой цилиндр в канале, 𝑅𝑒 = 100 . Зависимость коэффициентов
сопротивления
и
подъемной
силы
от
времени
Рис. 12: Круговой цилиндр в канале, 𝑅𝑒 = 100. Поле давления
Рис. 13: Круговой цилиндр в канале, 𝑅𝑒 = 100. Поле завихренности
Рис. 14: Круговой цилиндр в канале, 𝑅𝑒 = 100. Картина линий тока
3.2.2 Задача обтекания трехмерного кругового цилиндра в канале
В качестве первой тестовой задачи выбрана задача формирования
ближнего следа за круговым цилиндром в потоке вязкой несжимаемой жидкости.
Несмотря на кажущуюся простоту задачи и сравнительно большое число
экспериментальных данных, нестационарные эффекты и обусловленные ими
процессы переноса все еще далеки от понимания. Важно отметить, что данная
задача является не только фундаментальной, но и имеет практическое значение,
так как данное течение встречается на практике при обтекании различных
конструкций.
Рассмотрим задачу ламинарного обтекания двумерного кругового,
расположенного несимметрично в канале. Геометрия канала и условия обтекания
выбраны аналогично принятым в работе [35].
Входной профиль скорости (𝑢0 , 𝑣0 ) задается формулой
𝑢(𝑦) = 4𝑢𝑚
𝑦(𝐻−𝑦)
𝐻2
,
𝑣(𝑦) = 0
где 𝑢𝑚 = 𝑢(𝐻/2) , 𝐻 – высота канала, 𝑦 – расстояние от нижней стенки
канала. В качестве характерной длины принят диаметр цилиндра 𝑑
𝑅𝑒 =
̅𝑑
𝑢
𝜈
,
𝑢 = 23 𝑢(𝐻/2)
Течение жидкости вокруг кругового цилиндра при числах Рейнольдса,
меньших некоторого критического числа 𝑅𝑒∗ (в отсутствии загромождения потока
𝑅𝑒∗ = 40), сопровождается возникновением устойчивой пары вихрей в следе за
ним. При 𝑅𝑒, превосходящем 𝑅𝑒∗ , в следе за цилиндром развивается доорожка
Кармана, характеризующаяся периодическим сходом вихрей поочередно с
верхней и нижней сторон поверхности цилиндра. Дальнейшее увеличение числа
Рейнольдса
вызывает
развитие
неустойчивости
Кельвина-Гельмгольца,
признаком которой является появление вторичных вихрей между срывом
основных.
В данной работе для расчетов был выбран диапазон чисел Рейнольдса до
𝑅𝑒 = 250 , так как адекватность решения двумерных уравнений Навье-Стокса
физическим наблюдениям подтверждена именно для этого диапазона [28].
Рис. 21: Чертеж расчетной области
Заключение
В настоящей дипломной работе, посвященной математическому
моделированию нестационарных течений вязкой несжимаемой жидкости в
двумерных областях сложной геометрии, автором решены следующие задачи:









Выполнен обзор и анализ литературы по существующим методам
расчета течений вязкой несжимаемой жидкости
Сформулирована общая задача трехмерного(низкорейнольдсового)
ламинарного обтекания тела произвольной формы безграничном или
ограниченном потоке вязкой несжимаемой жидкости
Выбран метод, наиболее подходящий для данного класса задач с
учетом имеющихся вычислительных ресурсов
Разработана система классов описыающих расчётную область и
универсальный решатель.
Разработан численный метод высокого порядка точности для
решения нестационарных осредненных по Рейнольдсу уравнений
Навье-Стокса для ламинарных течений.
Разработан программный код («SmartFlow 3.0») для расчета
гидродинамических характеристик течений
Разработан кроссплатформенный препроцессор.
Разработан графический постпроцессор.
Верификация разработанного метода показала удовлетворительное
согласование полученных результатов расчета различных режимов
течений в двумерных и трехмерных областях с известными
экспериментальными и расчетными данными
Следует отметить, что преимуществами рассмотренного в работе подхода
являются:
простота
программной
реализации
схем
пространственной
дискретизации высокого порядка, эффективность его применения для расчета
установившихся и нестационарных течений.
Литература
[1]
Андерсон Д., Таннехил Дж.,
гидромеханика и теплообмен. М.: Мир, 1990.
Плетчер
Р.
Вычислительная
[2]
Баландин М.Ю., Шурина Э.П. Методы решения СЛАУ большой
размерности. // Новосибирск: Изд­во НГТУ, 2000.
[3] Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. // М.:
Наука, 1987.
[4] Белов И.А., Исаев С.А. Моделирование турбулентных течений: Учебное
пособие. // СПб: БГТУ, 2001.
[5]
Белов И.А., Исаев С.А., Коробков В.А. Задачи и методы расчета
отрывных течений несжимаемой жидкости // Л.: Судостроение, 1989.
[6] Белоцерковский О.М. Численное моделирование в механике сплошных
сред. М.: Физматлит, 1994.
[7] Волков К.Н. Реализация схемы расщерления на разнесенной сетке для
расчета
нестационарных
течений
вязкой
несжимаемой
жидкости.
//
Вычислительные методы и программирование. 2006. 269-282.
[8] Голуб Дж., Ван Лоун Ч. Матричные вычисления. // М.: Мир, 1999.
[9]
Елизарова Т.Г., Калачинская И.С., Шеретов Ю.В., Шильников Е.В.
Численное моделирование отрывных течений за обратным уступом.
[10] Лойцянский Л.Г. Механика жидкости и газа. // М.: ГИТТЛ, 1970.
[11] Пейре Р., Тейлор Т.Д. Вычислительные методы в задачах механики
жидкости. // Л.: Гидрометеоиздат, 1986.
[12] В.А., Тарасов С.В. Метод численного расчета течений вязкой жидкости
с использованием осредненных по Рейнодльдсу уравнений Навье-Стокса //
Тезисы докладов научно-технической конференции ''Проблемы мореходных
качеств судов и корабельной гидромеханики'' (XLII Крыловские чтения). СПб,
2006. 17-19.
[13] Скворцов А.В. Обзор алгоритмов построения триангуляции Делоне. //
Вычислительные методы и программирование. 2002. 14-39.
[14] Флетчер К. Вычислительные методы в динамике жидкостей. М.: Мир,
1991.
[15]
Anderson J.D. Computational Fluid Dynamics. The Basics with
Applications. 1995.
[16] Baldwin B.S., Lomax H. Thin-Layer Approximation and Algebraic Model for
Separated turbulent Flows. // AIAA Paper, 78-257. 1978.
[17] Barth T.J. Aspects of Unstructured Grids and Finite-Volume Solvers for the
Euler and Navier-Stokes Equations. // Unstructured Grid Methods for AdvectionDominated Flows. AGARD, 1992.
[18] Barth T.J., Frederickson P.O. Recent Developments in High Order K-Exact
Reconstruction on Unstructured Meshes. // AIAA paper 93-0668, 1993.
[19] Biedron R.T., Vatsa V.N., Atkins H.L. Simulation of Unsteady Flows Using
an Unstructured Navier-Stokes Solver on Moving and Stationary Grids. // AIAA paper
2005-5093, 2005.
[20] Chung T.J. Computational fluid dynamics. // CUP, 2002.
[21] Fekken G. Numerical Simulation of Free-Surface Flow with Moving Rigid
Bodies. 2004.
[22] Ferziger J.H., Peric M. Computational methods fluid dynamics. // Springer,
2001.
[23] Guilmineau, E. and Queutey, P. A Numerical simulation of vortex shedding
from an oscillating circular cylinder // J. Fluids Struct. Vol. 16. 2002. 773–794.
[24] Hino T. Navier-Stokes Computations of Ship Flows on Unstructured Grids
// Twenty-Second Symposium on Naval Hydrodynamics, 1998. 463-475.
[25]
Hino T. Unsteady Flow Simulation Around a Moving Body by an
Unstructured Navier-Stokes Solver.
[26] Langtangen H.P., Mardal K. Numerical Methods for Incompressible Viscous
Flow.
[27] Kolmogorov A.N. Equations of Turbulent Motion of an Incompressible Fluid.
1942.
[28] Kravchencko A.G., Moin P. Numerical Studies of Flow Over a Circular
Cylinder at ReD=3900 // Physics of Fluids. 2000. Vol. 12. 403-417.
[29]
Kwak D.C., Chang J.L., Shanks S.P., Chakravarthy S.K. A ThreeDimensional Incompressible Navier-Stokes Solver Using Primitive Variables.
[30] Ollivier-Gooch C., Van Altena M. A High Order Accurate Unstructured
Mesh Finite-Volume Scheme for the Advection-Diffusion Equation. 2002.
[31]
Piomelli U., Scotti A., Balaras E. Large-Eddy Simulations of Turbulent
Flows, from Desktop to Supercomputer (Invited Talk). 2002.
[32] Roe P.L. Characteristic-Based Scheme for the Euler Equations // Annual
Review on Fluid Mechanics. 1986. Vol. 18. 337-365.
[33] Rogers S.E., Kwak D. Upwind Differencing Scheme for the Time-Accurate
Incompressible Navier-Stokes Equations // AIAA Journal. 1990. Vol. 28. 253-262.
[34] Rogers S.E., Kwak D. Upwind Differencing Scheme for the Incompressible
Navier-Stokes Equations // Applied Numerical Mathematics. 1991. Vol. 8. 43-64.
[35] Schafer M., Turek S. Benchmark Computations of Laminar Flow Around a
Cylinder // Notes on Numerical Fluid Mechanics. 1996. 856-869.
[36] Sohankar A., Davidson L., Norberg C. Numerical Simulation of Unsteady
Flow Around a Square Two-Dimensional Cylinder // In Proc. 12-th Australasian Fluid
Mechanics Conference, 1995. 517-520.
[37]
Spalart P.R., Allmaras S.R. A One Equation Turbulence Model for
Aerodynamic Flows. AIAA Paper, 92-439. 1992
[38]
Van Altena M. High-Order Finite-Volume Discretisation for Solving a
Modified Advection-Diffusion Problem on Unstructured Triangular Meshes. 1999.
[39] Wilcox D.C. Multiscale Model for Turbulent Flows. // AIAA Journal. Vol. 26.
1988.
[40] Wilcox D.C. Turbulence modelling for CFD. // DCW Industries, 1993.
[41] Yang J., Balaras E. An embedded-boundary formulation for large-eddy
simulation of turbulent flows interacting with moving boundaries. 2005.
[42] Шевчук И. Применение полиномиальной аппроксимации высокого
порядка точности на неструктурированных сетках в программном коде,
предназначенном для решения задач механики сплошных сред методом конечных
объёмов, 2010
[43] Бартель Е., Разработка программного кода для численного расчета
упругой деформации тел методом конечных объемов, 2010.
[44] Qt - A cross-platform application and UI framework - http://qt.nokia.com/
[45] OpenGL - High Performance Graphics - http://www.opengl.org/
[46] Boost C++ Libraries - http://www.boost.org/
Download