Теория движения турбулентного реагирующего газа

реклама
Одномерное движение турбулентного реагирующего газа, вызванное
поршнем.
Постановка задачи: смесь совершенных газов с упрощенной термодинамикой,
кинетикой и транспортом движется под действием поршня, вдвигающегося или
выдвигающегося из рабочей области. Движение поршня задано. Возможны режимы:
 Образование ударной волны при вдвигании поршня в газ
 Образование при более интенсивном вдвигании детонационной волны
 Образование волны разрежения при выдвигании поршня из газа
 Зажигание газовой смеси подведением тепла от поршня
 Смешанные режимы при переменном движении поршня
Наиболее универсальный метод для расчета подобных режимов – использование в
общем случае подвижной сетки. Сетка в различных местах домена может полностью
отслеживать течение (режим Лагранжа), быть неподвижной (режим Эйлера),
адаптироваться к решению (режим мониторинга), либо двигаться по независимому от
течения заданному закону.
Состояние системы.
Состояние всей системы в заданный момент времени можно охарактеризовать
распределением по расчетной области вектора (множества) примитивных переменных
V . В качестве примитивных переменных для одной и той же задачи можно выбирать
различные наборы параметров. Главным условием выбора является их независимость и
выводимость всех прочих локальных параметров системы через функции от V . Число
примитивных переменных, как правило, равно числу дифференциальных уравнений
баланса.
Система уравнений баланса не замкнута, и должна дополняться функциональными
зависимостями, или определяющими соотношениями. В задачах газовой динамики с
химическими превращениями такими функциями могут быть: уравнение состояния
смеси, зависимость энергии, энтропии и теплоемкости компонент от температуры,
выражения для скоростей химических реакций (кинетика смеси), зависимость
коэффициентов переноса от температуры и концентраций компонент. Если
используется модель турбулентности, содержащая дифференциальные уравнения
баланса турбулентных параметров, то к этим уравнениям добавляются
функциональные зависимости эффективной вязкости от этих параметров и некоторые
другие, которые мы разберем на примере ка-эпсилон модели турбулентности.
Для решения нашей задачи за вектор примитивных (независимых) переменных для
одномерной1, односкоростной2 и однотемпературной3 газодинамической задачи с
учетом химических взаимодействий и стандартной ка-эпсилон4 модели турбулентности
можно принять следующий набор:
Имеется в виду число пространственных измерений, без учета времени.
За скорость такой системы принимается среднемассовая скорость компонент; различие скоростей
компонент учитывается в потоках диффузии. Многоскоростные модели описывают скорость каждой
компоненты явно.
3
Температура всех компонент системы принимается одинаковой в данной точке пространства для
заданного момента времени. Это соответствует гипотезе малого времени установления локального
термодинамического равновесия, по сравнению с характерным временем самого быстрого из
исследуемых процессов.
4
Турбулентность – явление, моделирование которого прямым способом (DNS) требует значительных
вычислительных ресурсов. Для уменьшения затрат в большинстве случаев используются приближенные
модели, описывающие хаотические пульсации течения с помощью исследования динамики некоторых
1
2
V   k , v, T , K ,   , k  1,..., M .
(1)
где обозначено:
 k – парциальная плотность k-ой газовой компоненты;
v – скорость газовой смеси;
T – температура газовой смеси;
K – кинетическая энергия турбулентности на единицу массы;
 – величина, характеризующая интенсивность турбулентной диссипации.
Для большинства моделей численных расчетов, в том числе и для выбираемой нами в
дальнейшем модели, еще одной важной характеристикой является расчетная сетка. Эта
сетка может быть как подвижной, так и неподвижной; в режиме Лагранжа она
вморожена5 в среду, в режиме Эйлера она неподвижна или движется независимо от
среды. К характеристикам одномерной неразветвленной сетки относятся наборы:
 вершин  x j 1/ 2  , j  0,..., N ;


интервалов  j  , j  1,..., N ;
середин интервалов  x j  .
В целях удобства целочисленная индексация узлов привязана к интервалам, а
полуцелые индексы – к границам интервалов. Тем самым, левой границей рабочей
области является координата x1/ 2 , а правой - xN 1/ 2 .
Все свойства такой сетки определяются набором ее вершин, координаты которых в
общем случае зависят от времени. Эта зависимость может быть как явной, так и
выражающейся через характеристики самого описываемого течения. Явная
зависимость (в том числе неподвижность) сетки от времени может иметь место лишь в
режиме описания модели Эйлера. Неявная (функциональная или дифференциальная)
зависимость движения сетки от движения среды имеет место как в режиме Лагранжа,
так и в режиме Эйлера (например, адаптивная сетка). Возможны также гибридные
Эйлеро-Лагранжевы режимы.
В случае явной зависимости координат вершин от времени имеем:
x j 1/ 2  x j 1/ 2 (t ) , x j 1/ 2 (t )  x j 1/ 2 (t ) ;  j   x j 1/ 2 , x j 1/ 2  ;
x j (t ) 
x j 1/ 2  x j 1/ 2
,  j |  j | x j 1/ 2  x j 1/ 2 .
(2)
2
Вектор примитивных6 переменных для нашей задачи будем определять в серединах
ячеек  j , так что:
V j (t )  V (t , x j ) , j  1,..., N ; t  0 .
(3)
Граничные условия соответствуют условиям в крайних вершинах сетки. Поршень
будем располагать на левой границе расчетной области x1/ 2 , и движение этой вершины
будем задавать в соответствие с заданным движением поршня. Правую границу
статистических параметров этого хаоса. Ка-эпсилон модель турбулентности – одна из нескольких
разработанных на настоящий момент моделей, требующих два уравнения баланса турбулентных
параметров. Имеются и иные приближенные модели, требующие два уравнения баланса (наиболее
популярна из которых модель ка-омега), а также модели, требующие одно, три и даже 7 и более
дополнительных уравнений.
5
То есть движется с той скоростью, что и среда.
6
Независимые параметры среды, имеющие четкий физический смысл; их количество равно количеству
уравнений баланса.
области будем ставить на достаточном расстоянии от поршня (если только не решаем
задачу о движении в ограниченной области), таком, что положение правой границы,
вообще говоря, переменное, оценивается с использованием скорости газа v и скорости
звука a :
(4)
xN 1/ 2 (t )  x1/ 2 (0)  max a  | v |  t .
x , t
Оценка (4) избыточная, и при ее соблюдении течение на правой границе расчетной
области за время, меньшее t , не влияет на движение, причиной которого является
движение поршня, расположенного в точке x1/ 2 (t ) независимо от процессов внутри
расчетной области.
В каждый момент времени t состояние задачи, таким образом, будет с необходимой
нам точностью определяться распределением узлов сетки  x j 1/ 2  и распределением
вектора примитивных переменных
V 
j
Будем обозначать подобное состояние
основной целью расчетов.
в центрах интервалов расчетной области.
V , x (t ) .
Нахождение
V , x (t )
является
Интегральные законы баланса.
Изложение алгоритма расчета будем вести так, чтобы основные идеи впоследствии
можно было бы распространить на многомерный случай. Для этого наилучшим
методом является вывод численной схемы непосредственно из интегральных законов
сохранения.
Движение газа без учета модели турбулентности подчиняется трем основным законам,
описывающим изменение массы компонент, импульса и энергии. Для любого
неподвижного объема  интегральные уравнения баланса таковы [1], [2]:

(5)
 tk d    k v  nd    I k  nd    k d  ;

(6)
 t   v  d     v( v  n)d    pnd    τ  nd  ;



  
v2
v2

e


K
d



e

 t   2  
  2  K  ( v  n)d  
   q  n d    pv  n d    v   τ  n  d 



Здесь введены обозначения, в дополнение к имеющимся обозначениям:
 – поверхность, ограничивающая объем  ;
n – внешняя нормаль к  ;
I k – турбулентный поток диффузии компоненты k ;
k –интенсивность образования компоненты k в результате химических реакций;
 – плотность газовой смеси;
v – вектор скорости газа;
p – термодинамическое давление;
τ – тензор суммы вязких и турбулентных напряжений;
e – внутренняя энергия единицы массы газа с учетом химической энергии;
q – поток энергии через границу объема.
(7)
Химические энергии компонент в приведенной модели входят во внутреннюю энергию
газа как составляющие. В случае одномерной плоской геометрии скорость газа, вектора
потоков и тензор напряжений имеют лишь одну компоненту, площадь поверхности
раздела интервалов полагается везде равной 1, а внешняя нормаль к ней имеет лишь
два значения 1 .
Заметим, что уравнения (5) – (7) не являются, строго говоря, законами сохранения7, так
как содержат члены, определяющие приход и расход в заданном объеме  , и их более
точно следует называть уравнениями баланса. Приход и расход компонент состоят из
конвективной, диффузионной и дополнительных частей.
Баланс турбулентных параметров
также является по форме интегральным законом сохранения, хотя, как и для законов (5)
– (7), уравнения содержат дополнительный приход (производство) и расход
(диссипацию) [4], [6]; стандартная ка-эпсилон модель содержит два уравнения:

(8)
 t   K  d     K ( v  n)d     q K  nd     PT    d  ,

1
2
1
(9)
 t    d     ( v  n)d    q  nd     C1  K PT  C2  K  d  .
Здесь обозначено:
q K , q  - диффузионные потоки соответствующих турбулентных параметров;
PT - дополнительное производство турбулентной энергии в единице объема;
C1  1, 45 и C2  1,92 - константы стандартной ка-эпсилон модели, в модификациях
этой модели значения этих констант могут быть переменными, зависящими от
состояния системы и геометрии расчетной области.
Определяющие соотношения.
К таковым относятся алгебраические8 и дифференциальные9 зависимости между
характеристиками системы, замыкающие уравнения баланса (5) – (9).
В модели смеси калорически совершенных10 химически реагирующих газов имеют
место следующие алгебраические связи параметров и соотношения [3]:

p
p   g T  k , e    cV ,k T  h0 k  Yk , h  e     cP ,kT  h0 k  Yk ,
 k
k Wk
k
Yk 
k
,    k .

k
(10)
Здесь обозначено:
 g  8.314 Дж/(моль·К) – универсальная газовая постоянная;
Wk - молярная масса компоненты;
cV , k , cP , k - удельная теплоемкость единицы массы компоненты при постоянном объеме
и при постоянном давлении;
h - энтальпия единицы массы смеси с учетом химической энергии;
Yk - массовая концентрация (доля) компоненты.
Как иногда называются в литературе.
Функциональные зависимости, не содержащие производных.
9
Содержащие частные производные по координатам и иным параметрам.
10
Иногда в физической литературе совершенные газы называются идеальными. В нашей терминологии
выражение идеальный газ означает невязкий.
7
8
В стандартной модели турбулентности ка-эпсилон турбулентная составляющая
динамической вязкости T определяется через иные параметры как:
T  C 
K2

.
(11)
Здесь:
C  0, 09 - параметр стандартной модели, который в модифицированных версиях
может быть переменным.
Векторы диффузии переменных11 с учетом модели турбулентности ка-эпсилон
определяются следующим образом. Вектор диффузии компоненты газовой смеси
моделируется как [4]:

 
(12)
I k     Dk  T  Yk ,
ScT 

где термодиффузией12 и бародиффузией13 пренебрегается, и обозначено:
Dk - коэффициент диффузии компоненты, зависящий в общем случае от набора
бинарных коэффициентов14, концентраций компонент смеси и температуры;
ScT - турбулентное число Шмидта, равное в стандартной модели турбулентности
единице.
Турбулентная диффузия в условиях развитой турбулентности значительно превышает
молекулярную по величине, поэтому для молекулярной диффузии можно принять
гипотезу постоянного числа Шмидта Sc [5]. В одномерном варианте имеется лишь
одна компонента вектора диффузии, равная, таким образом,
    Y
(13)
Ik    T  k .
Sc
Sc

x

T 
Обозначения:
 – молекулярная динамическая вязкость.
Динамическая вязкость газовой смеси в общем случае зависит от температуры и
концентраций компонент, но вследствие малости по сравнению с турбулентной
вязкостью может быть принята равной некоторой постоянной, такой как вязкость
воздуха при нормальных условиях   1,72 105 Па·с; число Шмидта при
использовании гипотезы его постоянности часто принимается равным Sc  0, 7 .
Тензор вязких и турбулентных напряжений моделируется как [4]:
2

 2
τ    T   v  vT     v  U    KU ,
(14)
3

 3
где U - единичный тензор второго ранга, и в одномерном варианте от него остается
единственная компонента
Диффузия как физический процесс относится лишь к концентрациям компонент. Здесь имеется в виду
численная диффузия (размывание распределения параметра по пространству без изменения его полного
значения).
12
Диффузия массы компонента, пропорциональная градиенту температуры
13
Диффузия массы компонента, пропорциональная градиенту давления.
14
Бинарный коэффициент диффузии определяется взаимодействием лишь двух компонент смеси без
учета всех прочих. Коэффициент диффузии компонента определяется бинарными коэффициентами этого
компонента и всех прочих, концентрациями компонент, температурой и другими параметрами.
11

4
v 2
  T    K .
3
x 3
(15)
Поток энергии состоит из нескольких компонент, отвечающих за теплопроводность,
диффузионный поток энтальпии и диффузионный поток энергии турбулентности. В
результате имеем ([4], [5]):

c 
(16)
q      P T  T    cP ,kT  h0 k  I k    T  K ,
PrT 
k

где обозначено:
 - коэффициент теплопроводности смеси;
cP - удельная теплоемкость смеси при постоянном давлении;
PrT  0,9 - турбулентное число Прандтля; константа используется в стандартной
модели турбулентности ка-эпсилон.
Вследствие малости молекулярного переноса по сравнению с турбулентным, для
определения молекулярной теплопроводности целесообразно воспользоваться
гипотезой постоянного числа Прандтля Pr [5]. Подставляя (13) в одномерный вариант
(16), получим поток энергии в виде [4]:
 c  c   T   T 
Yk
K
,
(17)
q   P  P T 
 
   T 
   cP,kT  h0 k 
PrT  x  Sc ScT  k
x
x
 Pr
Теплоемкости смеси при постоянном давлении cP и при постоянном объеме cV
определяются суммированием теплоемкостей компонент смеси так что выполняется:
(18)
c p   c pk Yk , cv   cvk Yk .
k
k
Для каждой компоненты совершенного газа выполняется соотношение Майера [3],
которое может быть определено соотношение теплоемкостей  k :
g

c
c pk  cvk  g ,  k  P ,k  1 
.
(19)
cV ,k
Wk cV ,k
Wk
Соотношения (19) позволяют выразить теплоемкости компонент через их молярные
массы Wk и отношения теплоемкостей  k .
Скорость (интенсивность) образования компонент в химическом процессе уточним
далее, после конкретизации химической модели15.
Потоки турбулентных параметров определяются согласно [4], [6]:

 
q K     T  K , q     T   ,
 

где:
   1,3 - константа стандартной модели турбулентности ка-эпсилон.
(20)
В одномерном варианте имеем:
qK     T 
15

K
  
, q     T 
.
x
   x

Списка компонент и химических реакций между ними.
(21)
Производство турбулентности PT определяется в стандартной модели как свертка
соответствующих членов уравнений Рейнольдса [4]:
4  v  2
v
PT  τT : v  T     K
,
(22)
3  x  3
x
где τ T - турбулентная составляющая тензора напряжений. Модификации модели могут
использовать измененный вариант соотношения (22), в частности, опускать второй
член или ограничивать PT сверху каким-либо явным образом16.
2
Дискретизация уравнений на подвижной сетке.
В методе конечных объемов [25] для перехода от математической (непрерывной)
модели к численной (дискретной) используется приближенное интегрирование
уравнений по ячейкам расчетной сетки с весом 1. Имеются и иные методы,
использующие интегральное представление по контрольным объемам, например, метод
конечных элементов, где вес интегрирования определяется набором базисных функций.
Для получения временнóго члена на подвижной сетке применяется теорема Коши [1],
[2], в следующей формулировке. Производная по времени от интеграла по подвижному
объему есть сумма интеграла от частной производной по времени по объему и
интеграла по поверхности от скорости движения поверхности, умноженной на
внешнюю нормаль. Это записывается:
d

 d    d     u  nd  ,
(23)

dt 

t


где  - одна из переменных баланса, а u - скорость поверхности объема  . Отсюда
следует, что если объем  подвижен относительно лабораторной17 системы координат
и при этом связан, например, с расчетной ячейкой на подвижной сетке, то интеграл от
частной производной по времени по этому объему в текущий момент времени
заменяется как:

d
(24)
 t d   dt   d    u  nd  ,
где u – скорость подвижной системы относительно неподвижной.
Пусть  j – элементарный объем18 подвижной сетки, окруженный поверхностью  j ;
переменные определены в центрах элементарных объемов (ячеек) x j . Если движение
сетки задано, то скорость его u определена для всей рабочей области, в том числе и
для границы ячеек. Если движение сетки зависит от самого решения, то эта скорость
становится одной из переменных; такими случаями является подход Лагранжа или
адаптация сетки к решению посредством специального мониторинга.
Для дискретизации уравнений на одномерной сетке следует записать интегральные
уравнения (5) – (9) на одном из интервалов (ячеек) и воспользоваться в случае
Подобные модификации не противоречат законам сохранения, так как те учтены в своих уравнениях.
Главные условия приемлемости введения новых членов в подобные уравнения – соответствие
результатов эксперименту и отсутствие противоречий с принципом относительности Галилея:
независимости физического явления от скорости равномерно движущегося наблюдателя. Принцип
Галилея, например, запрещает использовать в математической модели общего вида прямую
функциональную зависимость параметров от скорости газа и не запрещает зависимость параметров от
пространственной производной скорости. Он же запрещает простую зависимость параметров от частной
производной других параметров по времени; производная по времени в таких зависимостях должна быть
полной (материальной).
17
Считающейся неподвижной; к ней и привязаны координаты, в которых система рассчитывается.
18
Объем одного элемента.
16
движения сетки уравнением (24). Затем следует интерполировать переменные и их
производные так, чтобы обеспечить по возможности наилучшие аппроксимацию,
устойчивость и при этом разумные затраты усилий на программирование и исполнение.
В данном случае выбирается аппроксимация 2-го порядка точности19 по пространству
(исключая, возможно, области сильных градиентов параметров, где порядок снижается
до 1-го), метод из класса TVD20, обеспечивающий не только устойчивости схемы, но и
монотонность параметров в области сильного градиента. Вопрос порядка
аппроксимации по времени пока откладывается; вначале будем заниматься схемой 1-го
порядка, которую впоследствии можно модернизировать для повышения порядка до 2го и даже выше.
Будем рассматривать аппроксимацию каждого из членов уравнений по отдельности.
Такими элементарными членами уравнений являются:
 Производная по времени от интеграла переменной баланса по объему;
 Конвективный поток21 переменной баланса через границу ячейки;
 Компрессионный поток22 через границу ячейки;
 Диффузионный поток23 через границу ячейки;
 Дополнительные источники, в том числе содержащие производные по
пространству.
Будем использовать верхний индекс «+» для обозначения состояния системы на новом
слое по времени (на текущем слое индекс не используется
Производная по времени от интеграла переменной баланса по объему содержится во
всех уравнениях сохранения, и ее аппроксимация на одномерной сетке выглядит как:

d
1
Ud   U j  j   U j  j    O ( 3 ) ,
(25)


dt 
t 
j
где U – одна из переменных баланса.
Конвективный поток переменной через границы ячейки состоит из двух членов для
каждого из уравнений баланса, и выглядит как:
(26)
 U   v  u   nd   U  (v  u)  ( j )  U  (v  u)  ( j 1 ) .
j
Как переменные баланса, так и скорость газа v определены в центрах ячеек; на
границах определяется лишь скорость движения сетки u . Следовательно, члены,
входящие в выражение (26), должны быть некоторым образом снесены на границу
(интерполированы), и от качества этой интерполяции зависит не только порядок
аппроксимации, но и устойчивость численной схемы. Было давно показано (с помощью
теоремы Годунова, впервые опубликованной в [7]), что использование в этой ситуации
среднего арифметического, как и любого другого среднего, между значениями в
соседних ячейках ведет к абсолютно неустойчивой24 численной схеме. Для решения
d означает, что при уменьшении размера ячейки в n раз локальная точность
d
аппроксимации возрастает в n раз.
19
Порядок точности
TVD = Total Variation Diminishing (снижение полной вариации). Это не конкретная численная схема, а
свойство многих численных схем, иначе называемое сохранением монотонности решения.
21
Пассивный перенос характеристики потоком
22
Поток импульса, передаваемый давлением.
23
В том же смысле, что в примечании 9.
24
К схеме, не устойчивой ни при каком значении шага по времени. Условно устойчивая схема
приемлема лишь для ограниченных значений шага по времени. Безусловно устойчивая схема –
устойчивость от шага по времени не зависит.
20
проблемы интерполяции потоков в систему вводится искусственная диффузия25
переменной баланса, которая должна с одной стороны подавлять осцилляции
переменной не физического (а лишь численного) происхождения, с другой стороны –
как можно меньше ухудшать аппроксимацию математической модели. Различные
способы введения этой диффузии, начиная от классической работы фон Неймана и
Рихтмайера [8] и до настоящего дня, приводят к различным численным схемам. Здесь
будет изложена схема AUSM (Лиу и Стеффен, [9]) в соединении с последующим
улучшением интерполяции потоков (Hirsch, [10]).
Схема AUSM, как и многие другие схемы класса TVD, строится как схема первого
порядка точности по пространству; её результатом являются аппроксимации потоков
(конвективного и компрессионного) на границе расчетных ячеек. Улучшение
интерполяции подобной схемы проводится после расчета потоков 1-го порядка, с
использованием значений потоков в центрах ячеек, рассчитываемых алгебраически.
Конвективный и компрессионный потоки переменных на границе ячеек нельзя
рассчитывать как потоки, вычисленные с помощью среднего арифметического
переменных в центрах ячеек, это приводит к абсолютно неустойчивой схеме. Но уже
интерполяция вверх по потоку26 обеспечивает устойчивость:
  ( x j ),  v  u  ( j )  0;
 ( j )   j 1/ 2  
(27)
 ( x j 1 ),  v  u  ( j )  0.
В спорных случаях, когда скорость меняет знак между ячейками, для определения
выбора между альтернативами (27) можно использовать среднее арифметическое
относительной скорости на границе. Однако, вычисление конвективных потоков,
полученное по формуле (27), достаточно сильно размывает27 решение. Значительно
меньше искажает численное решение технология AUSM, предложенная Лиу и
Стеффеном [9] на основе разложения потока Ван Леера [11] и Генеля (Hänel et al, [12]).
Другие разложения, предложенные Роу [13] и Стегером и Уормингом [14] отличаются
от него тем, что используют преобразования полного якобиана28, что для сложных
нелинейных систем типа газовой динамики приводит к значительному числу операций
на один узел расчетной сетки.
Поток консервативной переменной U представляется как
F  U  (v  u )  UaM  M ,
(28)
где a – скорость звука, а M – число Маха (со знаком), определенное по относительной
скорости. На границе ячеек значение  j1/ 2 интерполируется по формуле (27) в
зависимости от знака граничного числа Маха. Граничное число Маха M j 1/ 2
вычисляется особым образом. Вначале для каждой ячейки определяются два члена
разложения числа Маха (их сумма равна числу Маха; это и есть основа разложения Ван
Леера, [11]):
1
 2  M  | M | , | M | 1;

M 
(29)
1
2
  M  1 , | M | 1.
 4
Искусственная диффузия – член, явно добавляемый к численной реализации дифференциальной
задачи, повышающий диссипативность схемы. Отличается от численной диффузии, возникающей неявно
вследствие приближенной интерполяции математической задачи в численной реализации.
26
Относительно движения сетки.
27
То есть приводит к избыточно высокой численной диффузии.
28
Например, требуют знания всех собственных значений и векторов несимметричной матрицы Якоби.
25
После получения разложений (29) граничное число Маха и граничный поток
определяются как
 j , M j 1/ 2  0;
(30)
M j 1/ 2  M j  M j 1 , Fj 1/ 2  M j 1/ 2  
 j 1 , M j 1/ 2  0.
Тем самым для дозвуковых потоков учитывается поступление сигнала снизу по потоку,
а не только сверху, как было бы при использовании интерполяции (27) для всех
переменных.
Впоследствии разложение (29) было модернизировано с целью сгладить зависимости
M  ( M ) при | M | 1 (метод AUSM+, Лиу, 1994, [15]):
2
1
1
2
M     M  1    M 2  1 ,   .
(31)
4
8
Компрессионный поток присутствует в уравнениях импульса и энергии, и его
интерполяция на границе ячеек должна учитывать передачу информации как по потоку,
так и против потока для дозвуковых течений. Для уравнения импульса
компрессионный поток в одномерном случае обычно равен термодинамическому
давлению (то есть шаровой части тензора напряжений), но при учете турбулентности
он модернизируется добавкой турбулентного давления – не зависящей от скорости
шаровой части тензора турбулентных напряжений:
2
P  p  K .
(32)
3
Компрессионный поток импульса через границу
 Pnd 

в одномерном случае равен конечной разности модифицированного давления (32) на
границах ячейки. Давление на границах определяется через разложение давления (32),
похожее по форме на разложение (29), но выглядящее несколько иначе:
(33)
Pj 1  Pj j  Pj 1 j 1 ,
где безразмерные коэффициенты   , сумма которых для каждой ячейки равна единице,
определяются на основе числа Маха (со знаком) M , вычисленного по скорости газа
относительно сетки, и определенного левой и правой интерполяцией к границе ячеек,
как и в случае конвективных потоков:
1
 2 1  sign( M )  , | M | 1;

 (M )  
(34)
 1  M  12  2 M  , | M | 1.
 4
Разложение (33) – (34) предложено Ван Леером [11] и является частью метода AUSM
[9]. Модернизация зависимости   ( M ) , сглаживающая ее при | M | 1 (метод AUSM+,
[15]) выглядит:
2
1
3
2
  ( M )   M  1  2 M    M  M 2  1 ,   .
(35)
4
16
Иные способы разложения ([13], [14]) предполагают использование среднего
арифметического от давления в соседних ячейках, что некорректно учитывает
распространение информации в околозвуковых и сверхзвуковых29 потоках. Заметим, что
на сетке Лагранжа относительное число Маха равно нулю, и формула (34)
действительно приводит к среднему арифметическому.
29
Относительно движения сетки
Компрессионный поток, входящий в уравнение энергии (или мощность работы сил
давления), в случае неподвижной сетки является составной частью потока энтальпии. В
случае подвижной сетки его следует рассмотреть отдельно. Он равен
 Pv  nd  ,

где давление P учитывает турбулентность и вычисляется по формуле (32). Этот поток
вычисляется в одномерном случае как конечная разность граничных потоков.
Последние рассчитываются в соответствии с моделью, предложенной Hänel et al. (1987)
[12] с использованием расщепления числа Маха M (29) – (30):
 Pa  j , M j 1/ 2  0 
 Pv  j 1/ 2   P  v  u   j 1/ 2  Pj 1/ 2u j 1/ 2  M j 1/ 2  
  Pj 1/ 2u j 1/ 2 , (36)
 Pa  j 1 , M j 1/ 2  0 
так что в случае неподвижной сетки остается первый член, который добавляется к
потоку энергии и составляет поток энтальпии (модифицированной в нашем случае
добавкой турбулентного давления), и метод совпадает с опубликованным в (Лиу, 1994,
[15]). На подвижной сетке к потоку энтальпии добавляется член, определяемый по
скорости движения границ и интерполяции давления (33).
Продвижение порядка аппроксимации потоков на второй порядок точности, кроме
областей высокого градиента, осуществляется после определения потоков на границах
ячеек по схеме первого порядка в соответствии с параметрической интерполяцией
одномерного потока, которая для равномерной сетки выглядит как [10]:
1 
1 
(1)
Fj(2)
Fj  Fj(1)
Fj 1/ 2  Fj(1)


1/ 2  F j 1/ 2 
1/ 2  
1/ 2  
4
4
(37)
1 
1 
(1)
(1)
 Fj  Fj 1/ 2   4  Fj 1  Fj 3/ 2  .
4
Различные параметры  соответствуют различным схемам, в том числе значение
  1/ 3 - схеме Фромма 3-го порядка точности. Мы, однако, выберем более
устойчивую схему интерполяции по потоку, соответствующую   1 :
1
1
(1)
Fj(2)
Fj  Fj(1)
Fj 1  Fj(1)


1/ 2  F j 1/ 2 
1/ 2  
 3/ 2  ,
2
2
которая, однако, не приведет к устойчивой схеме, если только не будут использованы
ограничивающие разности потоков множители, что может быть выражено следующим
образом:
 (rj1/ 2 )
 (rj3/ 2 )
(2)
(1)
(1)
Fj 1/ 2  Fj 1/ 2 
Fj  Fj 1/ 2  
Fj 1  Fj(1)


 3/ 2  ,
2
2
где отношения разностей потоков записываются как:
Fj  2  Fj(1)
Fj 1  Fj(1)
1/ 2
3/ 2


, rj 1/ 2 
.
(38)
rj 1/ 2 
(1)
(1)
Fj  Fj 1/ 2
Fj 1  Fj 1/ 2
Если используется неравномерная сетка, то эти отношения разностей следует заменить
на отношения градиентов потоков, что несколько модернизирует формулы (38).
Ограничитель  должен быть в общем случае монотонной функцией, определенной на
всей числовой оси, иметь предел на бесконечности, и заключаться в пределах от 0 до 2.
Нуль приводит к схемам 1-го порядка точности, значение выше 2 – к интерполяции,
абсолютно неустойчивой. Известно большое количество ограничителей, пригодных для
схем 2-го порядка, из которых следует особо отметить MINMOD (самый робустный30
из ограничителей, Roe, 1986, [16]):
(39)
 MM (r )  max 0, min{1, r} ,
31
и ограничитель, введенный Ван Леером (van Leer, 1974, [17]):
r | r |
.
(40)
VL (r ) 
1 | r |
Другие ограничители: Superbee (Roe, 1986, [16]); Sweby (Sweby, 1984, [18]); UMIST
(Lien, Leschziner, 1994, [19]); Koren (Koren 1993, [20]), MC (van Leer, 1977, [21]); Osher
(Chatkravaty & Osher, 1983, [22]); Ospre (Waterson & Deconinck, 1995, [23]); Van Albada
(van Albada et al, 1982, [24]). Перечисленные ограничители обладают свойством
симметрии
1
 (r )  r   
r
и равны нулю при r  0 . Также для всех этих ограничителей  (1)  1 .
Неопределенность 0/0 в формулах (38) разрешается тем, что ограничитель в этой
ситуации полагается равным нулю; это соответствует интерполяции константы.
Симметрия ограничителя позволяет ввести аналогичную ему функцию двух
переменных, симметричную по аргументам, такую что
b
a
 (a, b)  a    b   .
a
b
Двухпраметрический ограничитель имеет достоинство по сравнению с
однопараметрическим: он свободен от появления сингулярностей при малых значениях
разности потоков. Формулы (38) с использованием симметрии могут быть выражены
посредством двухпараметрического ограничителя (и упрощены):
1
(1)
(1)
(1)
(1)
  Fj  Fj(1)

Fj(2)
(41)
1/ 2  F j 1/ 2 
1/ 2 ; F j 1  F j 1/ 2     F j 1  F j  3/ 2 ; F j  F j 1/ 2   .

2
Следует заметить, что для неравномерной сетки выражение (41) несколько
усложняется; конечные разности в нем заменяются градиентами, а на месте множителя
(1/2) стоит некоторое приращение координаты.
Для случая подвижной сетки (хотя бы и равномерной в заданный момент времени)
большое значение имеет то, что формулы (37), (38) и (41) выведены для неподвижной
сетки, без присутствия в правой части конвективных потоков добавки u U , где u скорость движения сетки, а U - консервативная переменная, соответствующая потоку.
Это значит, что добавка должна быть учтена, что приводит к следующей модификации
формулы (42):
(1)
(1)
 Fj  Fj(1)
 Fj 1  Fj(1)
1/ 2 ; F j 1  F j 1/ 2
 3/ 2 ; F j  F j 1/ 2
(2)
(1)
Fj 1/ 2  Fj 1/ 2 

,
2
2
u
 u j 1/ 2
U j  U j 1
(1)
Fj  Fj  U j j 1/ 2
, Fj(1)
.
(42)
1/ 2  Fj 1/ 2  u j 1/ 2
2
2




Скорость звука.
В реагирующей смеси газов скорость звука определяется неоднозначно; можно
одновременно определить ее несколько вариантов, среди которых наиболее известны
30
31
Обеспечивающий устойчивость схемы для наибольшего числа моделей, вариантов и условий расчета.
Характеризуется, в отличие от прочих перечисленных, гладкостью при r  0 .
замороженная32 и равновесная33. Для смесей с множеством реакция возможны и
промежуточные варианты, когда часть реакций (проходящих медленно, по сравнению
со временем расчета) замораживается, а часть (проходящих быстро) считается
равновесными. Это разнообразие затрудняет априорное определение скорости
распространения слабого сигнала (то есть скорости звука). Однако в работе [24]
указано, что в методах AUSM и AUSM+ точность определения скорости звука не имеет
критического значения для результата. В этой связи можно ограничиться наиболее
простым выражением – замороженной скоростью звука, которая для смеси
совершенных газов выглядит как:
c p
a  ag  P 
cV 
c
c
Y
P,k k
k
Y
 gT 
k
V ,k k
Yk
.
Wk
(43)
k
Добавка к термодинамическому давлению турбулентной части (36) несколько
модифицирует скорость звука, увеличивая ее для турбулентных смесей:
1c

(44)
a  ag2  P K  ag2  K ,
3 cV
3
что в практических случаях лишь незначительно отличается от значения a g вследствие
малости характерной скорости турбулентных пульсаций по сравнению со скоростью
звука.
Диффузионные потоки переменных состоят из членов вида
   nd  ,
(45)

и каждый из подобных членов без потери устойчивости может быть интерполирован в
одномерном случае при помощи конечной разности между соседними ячейками (для
градиента) и среднего арифметического (для коэффициента переноса).
Согласно работе [26], в многомерном случае на неструктурированной сетке34 градиент
функции на границе ячеек лучше всего определять по градиенту в их центрах.
Последний же определяется по взвешенной сумме значений функции в соседних узлах
с применением метода наименьших квадратов, что приводит к следующей системе
уравнений для его определения компонент градиента на неструктурированной
трехмерной сетке:
      x
3
k 1
k
n
mM n
k
m
 xnk  xmj  xnj  
 
mM n
m
 n   xmj  xnj  , j  1, 2,3 .
(46)
Здесь верхний индекс соответствует компоненте вектора (в трехмерной системе
координат), а M n – множество индексов ячеек, соседних с ячейкой n , для которой и
происходит вычисление градиента.
Градиент на границе ячеек вычисляется линейной интерполяцией градиента,
вычисленного для соседних ячеек, с последующей корректировкой [26]:
 
x x
(47)
  nm    nm  m n enm    nm  enm enm , emn  m n .
| xm  xn |
| xm  xn |
где линейная интерполяция градиента равна


Скорость звука, определенная при условии отсутствия химических превращений.
Скорость звука, определенная при условии локального химического равновесия смеси.
34
На сетке из ячеек, форма и расположение которых в пространстве определяются индивидуально.
32
33
mn  n 
| x mn  x n |
 m  n  ,
| xm  xn |
(48)
а xmn – координата точки границы, где вычисляется градиент. Тем самым шаблон, на
котором вычисляется градиент, является объединением соседей от двух соседних ячеек.
Для одномерной (но неравномерной) сетки формулы (46) – (48) сильно упрощаются.
Формула (46) приводит к явному выражению интерполяции производной в центре
ячейки:
2
2
   

   x j 1  x j    x j 1  x j     j 1   j   x j 1  x j    j 1   j   x j 1  x j  . (49)
 x  j
Линейная интерполяция градиента (48) приводит в одномерном случае к формуле
  
   x j 1/ 2  x j    
   



(50)

 
 
 
  .
 x  j 1/ 2  x  j x j 1  x j   x  j 1  x  j 
Корректировка же (47) в одномерном случае приводит к сокращению 1-го и 3-го
членов, содержащих линейную интерполяцию, и окончательной формуле в виде
конечной разности, поскольку точка интерполяции x j 1/ 2 лежит на отрезке  x j , x j 1  :
 j 1   j
  

.
(51)
 
 x  j 1/ 2 x j 1  x j
В то же время интерполяция производной в центрах ячеек (49) потребуется в
дальнейшем для построения некоторых членов в составе дополнительных источников.
Интерполяция коэффициентов переноса на границе ячеек может быть проведена
различными способами осреднения. Наиболее проста интерполяция с использованием
среднего арифметического:
   j 1/ 2
 j 1/ 2  j
.
(52)
2
Дополнительные источники, содержащие производную по пространству,
интерполируются с учетом формулы (49) для центральной производной в ячейке
неравномерной сетки. При отсутствии производных интерполяция по пространству
очевидна (так как переменные определяются в центрах ячеек), но в некоторых случаях
встает вопрос об интерполяции источника по времени, то есть о выборе между явной и
неявной интерполяцией. Мы будем рассматривать комбинации явных и неявных
методов, позволяющих построить схему 1-го порядка точности по времени, которая
затем с незначительными затратами может быть преобразована в схему 2-го порядка.
Для этого в первую очередь следует уточнить химическую модель, которая как раз и
содержит наиболее проблемные по устойчивости источники, а затем конкретизировать
источники в уравнениях модели турбулентности.
Химическая модель.
В общем случае полагают, что в системе идет одновременно R химических реакций,
записывающихся в символьном виде как:
K
K
k 1
k 1
 kr Ak  M r   kr Ak  M r , r  1,..., R ,
(53)
где Ak – символ газовой компоненты с номером k ,  kr и  kr – соответственно
входящие и исходящие стехиометрические коэффициенты, а M r – признак влияния на
скорость реакции не изменяющихся в ее ходе компонент.
Химические реакции подчиняются закону сохранения массы и закону действующих
масс. Согласно закону сохранения массы (Ломоносова и Лавуазье, [3]), для каждой
реакции (53) выполняется соотношение между стехиометрическими коэффициентами и
молярной массой компонент:
K
     W
k 1
kr
kr
k
0.
(54)
Согласно закону действующих масс (Гульдберга и Вааге, [3], [27]) для каждой
компоненты и каждой реакции при отсутствии внешних источников массы имеет место
соотношение:
d kr
(55)
  r  dt ,
Wk  kr  kr 
где d kr – прирост массы компоненты k в реакции r на массу всей смеси за заданное
время dt , Wk – масса моля компонента, а величина  r , зависящая от индекса реакции
и условий ее проведения, называется скоростью химической реакции35. Закон (55)
приводит к следующему выражению для дополнительных источников массы
компонент в уравнениях (5):
R
k  Wk   kr  kr  r .
(56)
r 1
Скорость химической реакции, в общем случае, зависит от молярных концентраций
входящих компонент, температуры, и в ряде случаев концентраций иных (третьих)
компонент смеси, а также давления, полей электромагнитного и иного излучения,
влияния близко расположенных стенок (теплоотвод, химические реакции на
поверхности с вовлечением материала стенки, адсорбция компонент и катализ) и
многого другого. Универсальной формулы для скорости химической реакции в
конечном виде не существует, так как имеют место сильно отличающиеся друг от друга
эмпирические модели для одного и того же процесса. Причиной таких различий
является то, что даже весьма простой химический процесс типа горения гремучего газа
на деле состоит из множества стадий с вовлечением множества компонент,
образующихся в ходе промежуточных стадий реакции. Как число стадий, так и число
таких промежуточных компонент, или радикалов36, использующееся в модели, зависит
от степени детализации нашего рассмотрения, и по мере углубления детализации, повидимому, должно неограниченно расти.
Все химические модели делятся на элементарные, в которых рассматриваются лишь
так называемые элементарные реакции с ограниченным числом компонент в каждой37,
и брутто-модели, в которых множество элементарных стадий объединены в одну или
две. В первом случае число компонент и реакций может быть довольно значительным,
хотя формулы для скорости реакций относительно просты38. Во втором имеем малое
число компонент и реакций, но формулы для их скорости усложняются, и даже
стехиометрические множители промежуточных стадий могут зависеть от температуры
К скорости движения компонент термин отношения не имеет
Строго говоря, радикал – это химически неустойчивое почти в любых условиях соединение. Иногда
под этим термином подразумевают промежуточные продукты горения, неустойчивые в условиях
пламени, хотя при нормальных условиях эти вещества стабильны и иногда широко известны; примерами
подобных радикалов являются перекись водорода и синильная кислота.
37
Максимум два входящих изменяющихся в реакции компонента, одинаковых или разных. Третий
входящий компонент может быть лишь не меняющимся в реакции «агентом влияния». Исходящих
компонент в элементарной реакции термического расщепления крупной молекулы может быть больше.
38
Для большинства элементарных химических реакций. Исключения из простой формулы так и
называют «выпадающими реакциями».
35
36
и состава (Варатарьян и Вильямс, [28]). Выбор химической модели во многом связан с
целью проводимых исследований.
Наша цель сейчас – продемонстрировать газодинамические эффекты, возникающие при
химических превращениях, а не тонкости химических процессов, и поэтому нам
достаточно будет рассмотреть единственную необратимую экзотермическую реакцию с
простой кинетикой. Экзотермичность реакции означает, что скрытая энтальпия
исходящих компонент (продуктов реакции) ниже скрытой энтальпии входящих, а
разница приводит к росту тепловой энергии газовой смеси при образовании продуктов.
Реакцию будем записывать в символьном виде как:
(57)
F  O O   P P .
Здесь F – горючее, O – окислитель, P – продукты реакции. Будем считать, что в смеси
присутствует еще и нейтральная компонента N , в реакции не изменяющаяся.
Стехиометрические коэффициенты реакции, а также термодинамические и химикокинетические коэффициенты, привязанные к компоненте, будем обозначать с
соответствующими нижними индексами. Будем также придерживаться численных
обозначений, для совместимости с набором переменных (1): O,F,P,N  1, 2,3, 4 .
В силу закона сохранения массы (54) должно выполняться соотношение:
WF  OWO   PWP .
(58)
Из соотношения (58) следует, что при заданных молярных массах компонент
достаточно задать коэффициент  O , а коэффициент перед продуктами реакции  P
можно будет выразить как:
W
W
 P  F  O O .
(59)
WP
WP
В силу закона действующих масс (56) имеем выражения скорости приращения
компонент от скорости единственной химической реакции  :
(60)
F  WF , O   OWO , P   PWP , N  0 .
Скорость химической реакции  будем моделировать следующим образом:
    
(61)
   F   O  f R (T ) ,
W
W
 F  O 
где f R (T ) называется коэффициентом скорости реакции и зависит от температуры по
закону Аррениуса, который будет несколько модифицирован (модификация закона
Аррениуса – весьма частый прием в эмпирических законах, в отличие от законов,
непосредственно выведенных из статистической физики или квантовой теории39).
Будем считать, что горючее и окислитель вообще не реагируют при температуре ниже
пороговой:
 AR exp  TA / T  , T  TM ;
f R (T )  
(62)
0, T  TM .
Таким образом, скорость реакции регулируется тремя константами: множителем AR ,
температурой активации TA и пороговой температурой TM .
39
В физике весьма часто используются зависимости различных параметров от температуры вида
T exp   / T  . В основе подобных формул лежат выводы статистической теории о распределении

энергии по молекулам в условиях термодинамического равновесия.
Внутренняя энергия компонент определяется с точностью до констант h0k (удельной
энтальпии образования), однако эти константы должны быть согласованы так, что для
каждой из химических реакций выполняется закон Гесса [27], в изначальной
формулировке он выглядит как: «Когда образуется какое-либо химическое соединение,
то при этом всегда выделяется одно и то же количество тепла независимо от того,
происходит ли образование этого соединения непосредственно или же косвенным
путем и в несколько приемов». Из этого закона следует, что при наличии в системе
лишь одной реакции существенной константой будет лишь тепло, выделяемое при
образовании одного моля вещества P (продукта реакции), и достаточно положить
энтальпию образования всех компонент, кроме продукта, нулем. В этом случае тепло,
полученное в реакции (57) с расходованием 1 моля топлива F будет равно
(63)
QR  WF h0F  OWO h0O  PWP h0P   PWP h0P ,
что дает возможность рассчитать энтальпию образования единицы массы продукта по
теплоте химической реакции (на моль израсходованного топлива) QR . Из (63) следует,
что экзотермичность реакции (положительность QR ) приводит к отрицательному
значению энтальпии образования продуктов h0P .
Дискретизация дополнительных источников по времени
Будет использована явно-неявная дискретизация источников по времени. Те члены в
источниках, на основе которых строятся пространственные производные (в частности,
производство энергии турбулентности и квадратичного отклонения температуры),
используют эти производные, полученные с текущего слоя по времени. Прочие члены
вычисляются на новом слое по времени. Такая дискретизация делается с целью
обеспечить устойчивость расчета жесткой системы уравнений; жесткость ей придают
именно источники, описывающие турбулентные и химические процессы. В то же время
порядок аппроксимации остается O(t , x 2 ) , так как источники (конвективные и
диффузионные) все равно определяются явно, лишь по текущему слою.
С учетом моделей турбулентности и химических превращений, имеем следующую
структуру источников S k , где k соответствует номеру примитивной переменной (1) и в
добавлении к численной, будет иметь символьное обозначение:
k  O,F,P,N, v, T , K ,    1, 2,3, 4,5,6,7,8 ,
что говорит к тому же, что химическая и турбулентная модель приводят к 8 уравнениям
баланса. Источники S k дискретизируются по времени как:
SF  WF
F O
WF WO
SO   OWO
SP   PWP
f (T  ) ,
F O
WF WO
 F O
WF WO
SN  0 ,
Sv  0 ,
f (T  ) ,
(64.2)
f (T  ) ,
(64.3)
ST  0 ,
 K 2  



S K   
 1  K  2    ,
  


(64.1)
(64.4)
(64.5)
(64.6)
(64.7)


2  


(64.8)
S   C1 K 1  C1   2  C2    .

 K  
Члены с верхним индексом «+» рассчитываются неявно, на новом слое по времени;
члены без этого индекса берутся с текущего слоя. Выражения 1 и  2 рассчитываются
на текущем слое по времени с использованием центральных интерполяций
пространственной производной скорости (49), они равны:
4C  v  2
2 v
1     ,  2  
.
(65)
3 x
3  x 

Устойчивость численной схемы. Критерий Куранта.
Устойчивость явной численной схемы гиперболической задачи обеспечивается
критерием Куранта (Куранта – Фридрихса – Леви, CFL), [30]: шаг по времени такой
схемы должен быть меньше или равен шагу по пространству, деленному на
наибольший наклон характеристики. В случае задачи газовой динамики40, и на
переменной сетке, этот критерий можно формализовать как:
 x  x 
(66)
t  min C i i 1 .
i
ai  | vi |
Коэффициент  C (число Куранта) в явной задаче ставится меньше 1, и при этом
необходимо гарантировать, что и по данным с нового слоя (то есть a posteriori41) будет
выполнено
 x  x  t  1
min i i 1
i
ai  | vi |
даже с учетом движения сетки, изменения скорости смеси и скорости звука. Поэтому
величину  C лучше назначать достаточно малой; в [6] предлагается значение 0.3.
Заметим, что при неявной дискретизации гиперболических задач число Куранта можно
указывать и выше единицы.
В том случае, когда диффузионные потоки рассчитываются явным образом, критерия
(66) может быть недостаточно: шаг по времени в этом случае даже в неподвижной
задаче должен быть ограничен (и пропорционален квадрату шага по пространству). В
книге [30] предложена следующая модификация критерия CFL:




xi  xi 1
.
(67)
t   C min 
i
 a  | v |  2 Di 
i
 i
xi  xi 1 
Здесь Di - значение эффективного кинематического диффузионного коэффициента
(например, вязкости, температуропроводности или диффузии) с учетом
В нестационарных задачах одномерной газовой динамики присутствуют три характеристики с
«наклоном» v  a и v . По первым двум сигнал распространяется с волнами сжатия и расширения, по
третьей параметр дрейфует вместе со средой (таким параметром является, например, энтропия).
Наиболее сильный по модулю наклон характеристики, использующийся в критерии CFL, равен,
очевидно, a  | v | .
41
«В последствие» (лат.) Подобное условие, вообще говоря, следует перепроверять после расчета нового
слоя, но на практике это делается редко в целях экономии времени расчета. Кроме того следует принять
во внимание, что сам критерий CFL выведен для идеальной линейной гиперболической задачи. В
рассматриваемом нами нелинейном случае критерий CFL следует рассматривать как средство
определения шага по времени; истинным же критерием устойчивости становится практика численного
расчета.
40
турбулентности. Для достаточно малых значений коэффициентов переноса критерий
(67) практически не отличается от (66), но внесение в систему турбулентности
повышает диффузию на несколько порядков, в результате чего критерий CFL должен
быть скорректирован.
Дискретизация источников и уравнений, решаемых в задаче движения сетки, делается
так, чтобы критерий (67) не усугублять.
Движение сетки.
Подвижная сетка в режиме рассмотрения Эйлера часто ассоциируется с сеткой,
адаптивной к решению. При этом в ряде случаев можно добиться ускорения расчета за
счет меньшего числа узлов дискретизации с одновременным улучшением
аппроксимации в проблемных зонах высокого градиента переменных. Вместе с тем
использование адаптивной сетки, проводящей мониторинг решения при помощи
дифференциальных уравнений эллиптического или параболического вида приводит как
к усложнению алгоритма расчета, так и к возможному его замедлению вследствие
резкого сокращения размера ячейки в области сильного градиента и соответствующего
уменьшения шага по времени из-за критерия (66). О мониторинге решения при помощи
уравнений MMPDEn42, и тестировании эффективности мониторинга и применении к
задачам газовой динамики можно получить понятие из работ [31] – [32]. В то же время
адаптация сетки – достаточно сложная алгоритмическая задача, связанная к тому же с
подбором оптимальных параметров адаптации и выбором наиболее подходящих
уравнений мониторинга. Для наших целей эта задача на первых порах избыточна;
движение сетки нам требуется лишь для того, чтобы моделировать без проблем
движение поршня. В этом случае будем задавать движение сетки явно, так чтобы она с
левого конца отслеживала движение поршня, а с правого оставалась неподвижной.
Достаточно хорошая численная схема должна приводить к малому изменению решения
при различных параметрах движения сетки (являющейся вспомогательным
инструментом расчета, в отличие от исходных уравнений математической модели) и к
уничтожению погрешности при стремлении среднего размера ячеек к нулю.
Будем считать, что движение поршня задано, а правый конец сетки неподвижен:
x1/ 2  B(t ) , B (0)  0 , xN 1/ 2  L .
Здесь:
B (t ) - заданное движение поршня;
L - начальная длина расчетной области.
(68)
Внутренние ячейки будем считать распределенными все время равномерно, так что
x
x
j L

x j 1/ 2  x1/ 2  N 1/ 2 1/ 2 j  B (t ) 1    j , j  0,..., N .
(69)
N
 N N
Вследствие выражения (69) скорость движения границ ячеек сетки u j 1/ 2 определяется
через скорость движения поршня как:
dB 
j
u j 1/ 2 
(70)
 1   , j  0,..., N .
dt  N 
MMPDE (Moving Mesh Partial Differential Equation) – уравнение с частными производными для
описания движущейся сетки. Эти уравнения имеют устоявшиеся в литературе номера,
приписывающиеся к аббревиатуре MMPDE. К примеру, MMPDE5 – параболическое уравнение
42
xt   1  Mx  , где x - координата ячейки с номером  (пространство номеров расширено на
действительные числа),
от решения.

- время адаптации сетки (константа) а M - функция мониторинга, зависящая
Длина же ячейки (одномерный объем)  j равна:
L  B(t )
 (t ) , j  1,..., N .
N
и одинакова для всех ячеек. Координаты центров ячеек определяются как:

  j 1/ 2
j  1/ 2  L

x j  j 1/ 2
 B(t ) 1 
   j  1/ 2  , j  1,..., N .
2
N  N

Будем обозначать (t )   , (t  )    .
 j  x j 1/ 2  x j 1/ 2 
(71)
(72)
Заметим, что приведенное выше определение сетки позволяет использовать формулы
интерполяции потоков и производных, выведенные для равномерной сетки.
Разрешение численной схемы
Численная схема для заданной ячейки имеет вид:
U (V  )   U (V )
  
 F  S (V ,V  )
, или
t
2
  
U (V  )   S (V ,V  )
t  U (V )  F t ,
(73)
2
где U – набор переменных баланса, зависящий от базового (примитивного) набора V ,
F – сумма потоков в ячейку, S – дополнительные потоки, имеющие вид (64).
Вследствие нелинейности как U (V  ) , так и S (V ,V  ) , разрешение схемы (73)
относительно V  требует некоторого итерационного алгоритма. Алгоритм этот
существенно упрощается, если использовать закон баланса массы смеси газов. Ниже
для простоты будем опускать индекс ячейки.
При суммировании уравнений (5) дополнительные (химические) источники компонент
сокращаются; сокращаются также и диффузионные источники, и остается закон
баланса массы смеси:

 t d      ( v  n)d  ,
приводящий к явному выражению для плотности смеси на новом слое по времени:
(74)
        Fk t ,
k
где суммирование конвективных потоков массы Fk проводится по всем компонентам.
Получив из уравнения (74) плотность смеси на новом слое, из уравнения импульса
последовательно получаем скорость:
  v      v  Fv t .
(75)
После того, как плотность смеси найдена, турбулентная подсистема может быть
отделена от основной, приобретая следующий вид:
  K  2

 K   FK t
 

  1
(76)
K    1


K


   t 
 CK ,
2



  2 2 

  




 2   1  

  F t



 
(77)
   C1 1K  C1  2  C2
t 
 C .


 

K   2 2 
  


Нелинейная система (76) – (77) может быть решена методом Ньютона – Рафсона; одна
итерация этого метода использует решение системы линейных уравнений с 2
неизвестными. Систему (76) – (77) и итерационные поправки  K ,  можно записать
как:
FK
 FK
 FK ( K  ,   )  0  K   K       FK
(78)




 F ( K ,  )  0  F   F    F
K


 
 K 
Величину поправок на каждой итерации следует ограничивать, чтобы избежать
отрицательных или нулевых промежуточных результатов. Для этого поправки  K , 
умножаются на коэффициент   1 такой, что:
 1.5 |  k | 1.5 |  | 
 1  max 1,
,
(79)
.
K
 

Подставляя плотность, скорость и турбулентную энергию, полученные на новом слое
по времени, в уравнение энергии, получим следующее уравнение относительно
  k , T   :

  v2

 
v2

    cV ,kT  h0 k    k  cV ,kT  h0 k        K        K    FT t ,
k
k
  2

 2
 
или
(80)
 k  cV ,kT   h0k   Eˆ ,


k

k
где Ê - внутренняя энергия единицы объема на новом слое по времени, выраженная
через уже известные параметры. Из уравнений (5) следует подсистема:
   F t
 
1
k  k   j , T       t  k  k  ˆ k ,
(81)

 2 2 
где имеет место неявная зависимость k от температуры и парциальных плотностей
(64.1-3), исключая выражающуюся явно плотность нейтральной компоненты на новом
слое, а также дополнительное условие
(82)
 k    ,
k
которое должно соблюдаться как следствие условия:
 k  0 .
(83)
k
Система (80) – (81) должна решаться неявно. В нашем случае единственной реакции
система упрощается. Возможны два случая: температура системы превысила порог TM
и не превысила. Если температура в ячейке ниже пороговой:
T  TM ,
(84)
то скорости реакций равны нулю, и система (81) распадается:
 k  ˆ k ,
(85)
после чего температура T  определяется из (80) явно.
Более сложный случай – невыполнение критерия (84), когда в системе могут иметь
место химические превращения. Здесь мы сталкиваемся с тем случаем, когда
эффективный метод Ньютона – Рафсона, равно как и многие иные методы,
предполагающие монотонность функции, корень которой ищется, может не сойтись.
Нами был разработан эффективный алгоритм решения задач химической кинетики с
использованием неявной схемы (80) – (81), который сочетает в себе итерации Ньютона
– Рафсона, метод секущих, метод окружения корня и метод дихотомии. Этот метод
будет изложен ниже на примере простой кинетики, используемой в настоящем
пособии.
Заметим, что согласно (64.1-4) скорость образования компонент можно выразить как:
(86)
k  Ck O F f R (T ) ,
где Ck - константы такие, что
C
k
 0 . Тогда систему (81) можно представить как:
k
t 
 
(87)
1    .
2   
Если температуру T    зафиксировать, то решение системы (87) может быть
представлено как вектор-функция  j  R j ( ) , причем уравнение (80) будет
выполняться не точно, а породит функцию одной переменной (дисбаланс энергии):
( )  Eˆ   R j ( )  cV ,k  h0 k  .
(88)
 k  Ck O+  F+ f R (T  )t   ˆ k , где t  
k
Целью последующего алгоритма является отыскание корня функции (88). Практика
тестовых вычислений показала, что функция ( ) не только содержит точки
перегиба, как функция Аррёниуса43 (62), но и в общем случае не монотонна44.
Положительной стороной функции ( ) является ее непрерывность (при условия
пользования лишь верхней ветвью функции (62)), неограниченное убывание при
   и положительное значение для достаточно малых значений аргумента. Это
гарантирует наличие корня функции (88) и позволяет применить при необходимости
недифференциальные методы. Заметим, что вычисление функции (88) включает в себя
итерационный процесс Ньютона – Рафсона для определения парциальных плотностей,
и следовательно может считаться достаточно громоздкой вычислительной операцией.
Для фиксированного  решение (87) проводится методом Ньютона – Рафсона, который
в данном случае сходится достаточно быстро (за несколько итераций) даже в условиях
ограничения вариации парциальной плотности на итерации. Для ускорения решения в
качестве начального приближения здесь и далее будет браться текущее состояние
парциальных плотностей. Одна итерация метода Ньютона для системы (87) выглядит
как:

 
(89)
 k   (Om)  ( mF )  k t   ˆ k  k( m)  k t  ;  k( m 1)   k( m )   k .
F 
 O
Чтобы избежать нулевых или отрицательных результатов на промежуточных
итерациях, поправки ограничиваются, как и в случае уравнений (78), умножением на
коэффициент   1 :

2 |  | 
 1  max 1, ( m ) k  .
(90)
  k    
Малая величина   используется в формуле (90) с целью избежать сингулярности в
случае отсутствия какой-либо компоненты в смеси. Как уже было сказано, процесс (89)
является составной частью вычисления ( ) .
Это является препятствием для использования метода Ньютона - Рафсона, но не является
препятствием для его модифицированной версии – с ограничением вариации переменной.
44
Это препятствует использованию какого-либо метода отыскания корня, основанного на точном или
приближенном дифференцировании (Ньютона, Бройдена или секущих), вследствие шанса попасть в
область локального экстремума, где отсутствует как сходимость, так и выход из окрестности этой
области в сторону корня функции без использования специальных приемов.
43
Поиск корня (88) ведется в три стадии: сначала пробуем метод секущих, затем метод
окружения корня и под конец метод дихотомии. За начальное приближение
температуры берем текущее. За следующее приближение берется температура,
вычисленная по явной формуле из формулы (80) при полученных на начальной стадии
парциальных плотностях. Далее текущее cur и предыдущее значение old температуры,
равно как текущее и предыдущее значение  cur и  old дисбаланса (88) участвуют в
итерациях метода секущих:
 
   cur cur old , new  cur   .
(91)
 cur   old
Цикл итераций (91) продолжается до тех пор, пока не возникнет одна из
последовательно проверяемых четырех ситуаций:
 либо |  cur | не станет меньше заданного уровня,
 либо | cur  old | не станет меньше заданного,
 либо | cur   old | не станет меньше заданного,
 либо |  cur |  |  old | , где 0    1.
В первых двух случаях процесс считается сошедшимся, и задача – решённой. В третьем
случае мы находимся вблизи локального экстремума, а в четвертом – эффективность
итерационного процесса снизилась настолько, что следует перейти к другому методу.
Для того, чтобы эффективность метода секущих была лучше, чем у метода дихотомии,
следует ставить   0.5 . В третьем и четвертом случае мы переходим к дихотомии,
предваренной методом окружения корня.
Метод окружения корня применяется до тех пор, пока  cur и  old имеют один знак.
Как только на одной из итераций окружения знаки дисбалансов энергии станут
разными, переходим к методу дихотомии. Метод заключается в последовательном
сдвиге интервала, в котором находится корень, в ту сторону, каков знак  old (здесь
используется упомянутое выше свойство глобального убывания ( ) ). Сдвиг
совершается итерационным процессом:
old : cur ; cur : cur   ; old : cur ; cur : (cur ) ;  :    .
Здесь знак «:=» означает операцию присвоения данных, а константа   1 коэффициент экспоненциального расширения длины интервала окружения  , за
начальное значение которой выбирается sign(old ) | cur  old | .
После успешного окружения корня применяем метод дихотомии – не быстрый по
сравнению с методами Ньютона или секущих, но надежный в случае гарантии
нахождения корня функции в заданном интервале old ,cur  . На каждой итерации
метода дихотомии последовательно выполняется процесс:
 : (cur  old ) / 2 ;  : ( ) ;
если old  0 , то  old :  ;  old :  ;
иначе если cur  0 , то  cur :  ;  cur :  ;
иначе – процесс сошелся.
Надежность такого громоздкого алгоритма может быть проверена лишь
вычислительной практикой, что и было нами сделано на множестве различных
примеров. Тесты показали, что алгоритм «срывается» на ветвь, содержащую
дихотомию, как правило, не более одного раза за весь расчет для каждой из ячеек, в
момент перехода из «несгоревшего» в «сгоревшее» состояние. Лишь эта ветвь
вызывает значительное количество итераций – что является достаточно хорошим
показателем эффективности алгоритма.
Можно заметить, что прямое использование модифицированной функции Аррёниуса
(62) в алгоритме вычисления корня ( )  0 с помощью упомянутого алгоритма в ряде
случаев приводит к программной ловушке45, приводящей к зацикливанию итераций на
стадии дихотомии. Причина заключается в разрывном характере функции f R (T ) в
точке T  TM . Выход из этой ловушки заключается в единственной за шаг по времени
проверке критерия (84) без повторов. Если критерий на текущем слое по времени
соблюдается (то есть реакция отсутствует), то рассчитываем парциальные плотности
компонент из (85), а затем температуру из (80). В противном же случае используется
полный итерационный алгоритм, и в случае выполнения T   TM по итогам какой-либо
итерации, в расчетах следует использовать только «верхнюю» ветвь функции f R (T ) .
Такой метод, в общем случае, приводит к включению химических процессов при
T  TM не точно, а приближенно; для малого шага по времени эта разница становится
несущественной.
Граничные и начальные условия. Время процесса.
При построении граничных и начальных условий используются следующие принципы:
 Не протекание газовой смеси сквозь крайние точки подвижной сетки  0 (t ) и
 N (t ) , в том числе отсутствие диффузионных потоков компонент в эти точках.
 Левая граница расчетной области движется вместе с поршнем: 0  B(t ) .

На левой границе ставится условие заданного теплового потока q  q (t )
(который может быть нулевым). Поток тепла на правой границе равен нулю.
 Другие конвективные и диффузионные потоки на границах (в том числе потоки
турбулентных параметров) равны нулю.
 Правая граница неподвижна, и расположена достаточно далеко. Иной вариант –
правая граница не обязательно расположена далеко, и на ней ставятся условия
непротекания, как и на левой границе.
 В начальном состоянии смесь неподвижна, однородна по температуре и составу.
Состояние турбулентных параметров задается кинетической энергией
турбулентности и характерным размером турбулентности, из которого
впоследствии согласно [4] рассчитывается начальная диссипация.
 Процесс заканчивается при достижении волнами сжатия или разрежения правой
границы. Иной вариант – заданное время расчета с возможностью отражения
волн от правой стенки области.
При достаточно быстром выдвижении поршня возможно образование прослойки
вакуума между газом и поршнем [33]. Настоящий алгоритм этого не учитывает46,
поэтому на максимальную скорость выдвижения поршня следует наложить
необходимое ограничение. В противном случае при расчете возникнет
Это пример одной из трудно обнаруживаемых потенциальных ошибок расчетного алгоритма. Такая
ошибка часто выявляется как внезапная остановка расчета без выхода из программы и без каких-либо
предварительных «предупреждений» в виде резкого сокращения шага по времени или появления «нечисел» в результатах вычислений, или «исключительной ситуации» с выдачей информации об ошибке и
последующим выходом. Ситуация может возникнуть после нескольких сотен или даже тысяч шагов по
времени, на которых не было замечено ничего подозрительного.
46
Подобную ситуацию может учесть алгоритм с использованием «массовой» Лагранжевой сетки.
45
исключительный случай в виде деления на нуль из-за обнуления плотности газовой
смеси47.
Проблема учета условия на скорость смеси на границе связана с тем, что сама по себе
скорость определяется не на самой границе, а в центре ячейки, к границе
примыкающей. Скорость же на границах расчетной области может быть определена из
интерполяций (28), в которой ограничитель склона заменен единицей:
1 v v
1 v  vN 1
v(0 )  v1   2 1  x3/ 2  x1/ 2  , v( N )  vN   N
 xN 1/ 2  xN 1/ 2  . (91)
2 x2  x1
2 xN  xN 1
С учетом равномерности сетки и с использованием формул (71) и (72) выражения (91)
упрощаются:
3
1
dB
3
1
 v( x1/ 2 )  v1  v2 , 0  v( xN 1/ 2 )  vN  vN 1 .
(92)
2
2
dt
2
2
Отсюда по заданным значениям скорости в центрах внутренних ячеек можно найти
скорость в центре наружной ячейки.
Конвективный поток энергии (энтальпии) через границы расчетной области в данной
постановке задачи равен нулю, но в случае подвижных границ к этому (нулевому)
потоку добавляются члены, равные
(93)
v1/ 2 p1/ 2 и vN 1/ 2 pN 1/ 2
соответственно для левой и правой границ. Проблема здесь заключается в том, что
давление в крайних точках расчетной области не определено. Выходом может быть
линейная экстраполяция давления у границы, аналогичная формулам (92) для скорости.
Условие заданного потока тепла через границу расчетной области реализуется в случае
неподвижной границы на этапе учета тепловых, диффузионных потоков и напряжений
с помощью явной подстановки потока энергии q на соответствующей границе в
уравнение (7). Структура этого потока энергии при таком описании модели роли не
играет.
Начальная парциальная плотность компонент рассчитывается по начальным значениям
давления p0 , температуры T0 и объемным (молярным) концентрациям компонент Ck ;
эти концентрации задаются не нормированными. Вначале рассчитывается
нормированная массовая доля компонент Yk :
CkWk
.
(94)
Yk 
 C jW j
j
и плотность смеси
1

Y 
0  p0 T0  k  .
(95)
k Wk 

Затем парциальные плотности компонент в начальном состоянии определяются как:
k  0Yk .
(96)
Деление на нуль приводит к локальному появлению «не-чисел» и постепенному (в явной схеме)
распространению этого значения на все параметры задачи, либо к исключительной ситуации с
немедленным выходом, в зависимости от настройки конкретного компилятора на обработку чисел с
плавающей точкой. Массовая работа компьютера с «не-числами» без аварийной остановки программы
может быть обнаружена по существенному замедлению расчета.
47
Начальное значение турбулентной диссипации  0 определяется по заданным
начальным значениям удельной энергии турбулентности K0 и характерной длины
смешения
T0
[4]:
 0  C K03/ 2 /
T0
.
(97)
Алгоритм расчета.
Расчет задачи состоит из следующих стадий.
 Ввод исходных данных, или управляющих параметров задачи.
 Выделение дополнительной памяти под основные и вспомогательные массивы и
построение исходного состояния примитивных переменных V , x (0) .

Цикл шагов по времени, на каждом из которых происходит переход от
состояния V , x t  к состоянию V , x (t  t ) . На каждом шаге происходит:
o Расчет условия промежуточного или окончательного вывода переменных
и вывод при соблюдении этого условия,
o Расчет условия выхода из программы и выход при его соблюдении,
o Расчет величины нового шага по времени t (который может быть
переменным),
o Расчет нового состояния сетки x (t  t ) и нового состояния
распределения переменных V  (t  t ) .
Блок-схема алгоритма представлена на рис. 1. Каждая часть этой схемы, как правило,
представляет собой отдельную процедуру.
Алгоритм может быть в дальнейшем модифицирован так, что при длительном по
времени расчете возможен перезапуск из прерванного состояния. Для этого та часть
его, которая соответствует построению исходного состояния, в режиме перезапуска
заменяется считыванием исходного состояния из файла (считываться должны также
управляющие параметры). Файл же исходного состояния при перезапуске может быть
получен при одном из промежуточных выводов состояния системы при предыдущей
работе алгоритма.
Ввод управляющих параметров и первичная их обработка заключается в считывании
этих параметров из заранее приготовленного файла либо заданию параметров их
значениями по умолчанию. После этого в обоих случаях делается копия этого файла
(посредством записи параметров и комментариев к ним), что позволяет получить либо
шаблон ввода, либо проконтролировать ввод. Далее параметры обрабатываются:
переводятся по необходимости в систему единиц СИ48, вычисляются производные
параметры или иные величины, которые могут часто потребоваться в расчетах. Далее
проводится выделение динамической памяти для массивов, использующихся в задаче49.
Ошибка может возникнуть при неверном считывании параметров (отсутствие файла,
его недоступность или неправильный формат данных), при явно неверных считанных
Или в любую иную систему единиц измерения; главное, чтобы она была единой для всех параметров.
Ошибка «ручного» динамического выделения памяти – одна из трудно обнаруживаемых. Но в отличие
от алгоритмической ошибки в расчете нового шага по времени, здесь сбой происходит, как правило, на
первом шаге или даже раньше. Признаком подобной ошибки является в большинстве случаев выход с
системным сообщением о попытке записи по неразрешенному адресу. Могут возникнуть и иные
неприятные для программиста ситуации – от перезагрузки компьютера до зависимости результатов
программы от момента времени ее запуска или от опций компилятора (то есть непредсказуемости
поведения).
48
49
параметрах (например, отрицательном или нулевом числе расчетных ячеек) или при
сбоях выделения памяти. В случае ошибки выход из программы сопровождается
соответствующим сообщением в стандартный поток ошибки или специально
созданный файл.
Первый шаг программы заключается в построении начального состояния системы (в
исходный момент времени). Строится сетка программы (для движущейся сетки – ее
исходное состояние), и на сетке – исходное состояние распределенных параметров.
Условие прекращения расчета проверяется перед каждым очередным шагом, где
проводится переход на новый слой по времени. Таким условием может быть
достижение системой состояния, определенного задачей (к примеру, вовлечение в
движение среды, примыкающей к правой границе домена). Иными условиями могут
быть: заданное число прошедших шагов или заданное прошедшее с начала процесса
время.
Ввод управляющих
параметров и их первичная
обработка
ошибка
Выход с
сообщением об
ошибке
Первый шаг
Условие прекращения
расчета
Условие
промежуточного
вывода
Новый шаг
да
да
Итоговый
вывод
Промежуточный вывод
Нормальный выход
Рис. 1. Блок-схема программы, реализующей поставленную задачу.
Условие промежуточного вывода проверяется после условия прекращения расчета и до
нового шага по времени. Таковым условием может быть: наступление заданного
момента времени, либо заданное число шагов, прошедшее с момента предыдущего
промежуточного вывода. Могут быть и другие условия.
Новый шаг по времени – переход системы из состояния в предыдущий момент времени
к состоянию в увеличенный момент времени. Как правило, это основная часть расчета
нестационарной задачи, которая может быть весьма сложной. Для нашей задачи мы
напишем свою блок-схему нового шага.
Промежуточный и итоговый выводы устраиваются в зависимости от требования
задачи. Может выводиться полное состояние системы, но иногда выводится лишь
необходимая по условию задачи информация (особенно в условиях крупного размера
полных данных). Данные выводятся в заданный (в исходных параметрах) файл либо в
стандартный поток вывода, который средствами оперативной системы (то есть
внешней командой) можно также перенаправить в файл. Вывод может быть
распределен по нескольким потокам (файлам).
Блок-схема перехода на новый слой приведена на рис. 2 и описывает наиболее
важную часть алгоритма. Большинство циклов в этой блок-схеме представляют собой
перебор узлов сетки, и поэтому нет большого смысла их детально демонстрировать.
Стрелками на блок-схеме изображен не столько порядок вычислений, сколько
причинно-следственные связи между частями алгоритма. Учет граничных условий
производится на последней стадии этой блок-схемы, при сборке нового состояния
примитивных переменных. Каждый этап этой блок-схемы требует пояснений. Этапы
перечисляются в порядке вычислений для непараллельного алгоритма. Из блок-схемы
видно, что некоторые части алгоритма можно в расчете переставить местами или даже
при возможности вести параллельно.
Начальное состояние переменных и сетки
Новое состояние сетки
x  и скорость сетки
Расчет конвективных
потоков
Улучшение порядка
аппроксимации
Шаг по времени t
Расчет диффузионных
потоков и напряжений
Неявный расчет S j и получение V j интегрированием нелинейной
системы уравнений в каждом узле
Рис. 2. Блок-схема перехода на новый слой по времени.
Расчет шага по времени t ведется на основе начального состояния системы и
использует модифицированный критерий Куранта – Фридрихса – Леви (67),
дополнительно управляя этим шагом с помощью коэффициента  C  1 .
Расчет нового состояния сетки и скорости ее границ использует явную зависимость
(69) и вытекающие из нее зависимости (70) – (72) для заданного движения поршня
B (t ) . Сетка построена так, что она равномерна в каждый момент времени, что
существенно упрощает многие формулы, приведенные здесь для общего случая.
Расчет конвективных потоков использует метод AUSM+ и приближение переменных
на границах ячеек, а также скорость перемещения границ сетки. Потоки
рассчитываются фактически по начальному состоянию на шаге (схема явная). Именно
явность схемы требует применения критерия Куранта для величины шага по времени.
Конвективные потоки через границу просто не учитываются (обнуляются).
Компрессионный поток импульса через границу заменяется условиями на скорость
(95).
Улучшение порядка аппроксимации конвективных потоков делается после их расчета
по схеме 1-го порядка с использованием формул (42)
Расчет диффузионных потоков и напряжений использует левое и правое приближение
переменных для расчета коэффициентов переноса, а также начальное состояние
переменных для аппроксимации градиента на границах ячеек. Эта часть численной
схемы также явная; критерий устойчивости также требует ограничить шаг по времени,
но в обычных условиях при достаточно малых коэффициентах переноса, в том числе и
турбулентных, это требование значительно слабее, чем критерий Куранта.
Расчет источников, сборка уравнений и расчет переменных на новом слое по времени –
наиболее сложная часть этого алгоритма. Она проводится независимо для каждой из
ячеек сетки (при условии вычисления градиентов в ячейках заранее). В ряде мест
расчета используется итерационный процесс Ньютона для получения окончательности
решения – в силу нелинейности неявной численной схемы. Использование на этом
этапе явной схемы приводит к неоправданно сильному уменьшению шага по времени
для обеспечения устойчивости схемы. Процесс этот описан в отдельном разделе выше.
Ниже приведена блок-схема этой, самой сложной части шага по времени и детальное
описание каждого пункта. Алгоритм этот выполняется для каждой расчетной ячейки.
Блок-схема сборки уравнений изображена на рис. 3. Можно заметить, что на входе
последней блок-схемы присутствуют конвективные и диффузионные потоки на
внутренних гранях между ячейками (вычисленные ранее), граничные условия, а также
центральная аппроксимация градиента скорости. Не изображены значения переменных
на предыдущем слое и ранее вычисленный шаг по времени; их влияние на все детали
блок-схемы подразумевается по умолчанию.
Конвективные и диффузионные потоки переменных баланса на внутренних гранях
вычисляются на предыдущих стадиях алгоритма (изображено на предыдущей блоксхеме). Но перед входом в эту блок-схему конвективные потоки суммируются с
диффузионными.
Для каждой из переменных далее происходит суммирование потоков в ячейку со всех
ее граней (в одномерном случае – с двух, левой и правой). Если грань внешняя, потоки
берутся из граничных условий (условия непротекания соответствуют нулевому потоку
от грани).
Далее суммируются потоки массы для всех компонент. Это делается для определения
плотности смеси   .
По плотности смеси   и сумме потоков импульса определяется скорость v  . Для
ячеек, примыкающих к границе, скорость определяется из граничных условий.
Далее при помощи плотности   , центральной аппроксимации градиента скорости
(вычисленной заранее) и потоков турбулентных параметров вычисляются K  и   с
использованием метода Ньютона для решения нелинейной системы уравнений.
После этого вычисляется Ê с использованием   , v  , K  и потоков энергии в ячейку.
По значению температуры T выясняется, включать или не включать химический
процесс.
Если химический процесс включается ( T  TM ), то при помощи потоков массы
компонент и плотности смеси   , а также величины нового значения внутренней
энергии Ê формируется нелинейная система уравнений относительно


k
,T  и
решается при помощи специально разработанного итерационного процесса, схему
которого изобразим ниже.
Если химический процесс не включается, то при помощи потоков массы компонент
явно рассчитываются парциальные плотности  k . После получения  k при помощи
заранее вычисленной энергии Ê
завершается.
определяется T  , после чего процесс также
Конвективные и диффузионные
потоки на внутренних гранях
Граничные
условия
Суммарный конвективнодиффузионный поток в ячейку
для каждой переменной баланса
Центральный
градиент
скорости v
Сумма потоков массы
компонент
Получение  
Получение v 
Расчет K  ,  
методом Ньютона
Получение Ê
Нет
Расчет  k
T  TM ?
Да
Расчет  k , T 
специальным
алгоритмом
(нелинейная
система)
Получение T 
Рис. 3. Блок-схема сборки уравнений в ячейке.
Выход
Химический шаг весьма сложен и заслуживает отдельной блок-схемы расчета, которая
изображена на рис. 4. Шаг этот состоит из основных этапов: инициализации, метода
секущих, метода окружения корня и метода дихотомии, дополняющихся
многочисленными проверками, по итогам которых проводится переход между
методами или выход с получением решения.
Ввод ˆ k ,  k , T
Инициализация Told : T ,
old : (Told ) , (Tcur , old )  0 .
Метод секущих (цикл):
 cur :  (Tcur );
Tnew : Tcur   cur
Tcur  Told .
.
 cur   old
|  old |   ?
да
|  cur |   ?
да
| Tcur  Told |  T ?
да
| cur  old |   ?
да
|  cur |  |  old | ?
да
Окружение корня (цикл):
Told : Tcur ; Tcur : Tcur   ;
 old :  cur ;  cur : (Tcur ); .
 :   .
Дихотомия (цикл):
Tnew : (Tcur  Told ) / 2;  new : (Tnew );
 new   old  0   old :  new ; Told : Tnew
 new   cur  0   cur :  new ; Tcur : Tnew
|  cur |   ?
да
 cur   old  0 ?
да
|  cur |   ?
да
| Tcur  Told |  T ?
да
Выход T  : Tcur
Рис. 4. Блок-схема «химического» шага по времени в ячейке.
Параметры задачи.
Численное решение задачи определяется многими управляющими параметрами,
которые принадлежат к следующим группам:
 Геометрия задачи: начальная длина области и параметры движения поршня.
N – число ячеек расчетной сетки;
L – изначальная длина расчетной области;
B (t ) - координата поршня, меняющаяся со временем, причем B (0)  0 ;
T p – температура, заданная на поршне (или торце, если поршень неподвижен).
qP - поток тепла со стороны поршня. Задается либо температура, либо поток
тепла.


Параметры начального состояния:
T0 – температура;
p0 – давление;
CF , CO , CP , C N молярные (объемные) начальные концентрации компонент;
ненормированные.
Термодинамические свойства компонент и свойства переноса смеси:
WF , WO , WP , WN молярные массы компонент;
 F ,  O ,  P ,  N отношения теплоемкости компонент
QR теплота реакции (на моль топлива).
 молекулярная вязкость смеси.
Pr , Sc числа Прандтля и Шмидта.
 Химико-кинетические свойства:
AR предэкспоненциальный множитель коэффициента скорости реакции;
TA температура активации;
TM температура нижнего порога реакции,
 O стехиометрический коэффициент окислителя.
 Начальное состояние турбулентных параметров.
K0 , T 0 , (параметр  0 через них выражается).
 Параметры, определяющие ход решения:
 C параметр Куранта, определяющий выбор шага по времени;
tcalc – время всего расчета.
Примеры различных наборов параметров (базовый набор и его модификации)
находятся в файле с решениями задач практикума pis_prakt.doc. Детальное описание
компьютерной программы и сопровождающих ее утилит также занимает отдельный
файл.
Выводы
В настоящем файле изложен численный метод решения следующей системы
дифференциальных уравнений с частными производными. Сверху вниз
последовательно перечислены: уравнения баланса массы компонент газовой смеси,
уравнение импульса, уравнение энергии, уравнение динамики турбулентной энергии и
уравнение динамики турбулентной диссипации. Первые три уравнения – следствия
основных законов сохранения механики, остальные два – уравнения ка-эпсилон модели
турбулентности.
k

 
    k v  DT  k   k ( k  1,..., N )
t
 

 v
     vv  τ   p  0
t



 E
     Ev  pv  DT T  DI  ek  k  DK  τ  v   0
t

k


 K
     Kv  DK K   PT  
t


     v  D     C1 PT  C2  
t
K
Эти уравнения замыкаются определяющими соотношениями для плотности смеси  ,
давления p , полной энергии смеси E , внутренней энергии компонент ek , тензора
напряжений τ , коэффициентов переноса D , DI , DT , интенсивности прироста массы
компоненты k и скорости производства турбулентной энергии PT , в которых
участвуют сами переменные и иногда их пространственные производные. Подробно
определяющие соотношения изложены выше, где детально описана математическая
модель.
Полученные уравнения решаются в одномерной постановке в рабочей области с
подвижными границами, для чего используется подвижная сетка, адаптивная к
границам (не к решению). В системе возможны химические превращения; рассмотрена
единственная необратимая реакция, в которой участвуют три компоненты: горючее,
окислитель и продукты. Четвертая компонента является нейтральным разбавителем;
несмотря на ее нейтральность наличие такой компоненты существенно может влиять на
скорости протекающих в смеси реакций и на возможные режимы течения,
возникающие в условиях химических превращений.
В файле изложено подробное построение математической и численной модели на
основе интегрального представления дифференциальных уравнений и связанного с ним
тесным образом численного метода конечных объемов. Подробно излагается блоксхема программы (со словесными пояснениями каждого блока). Разбираются
некоторые особенности численного решения и некоторые смежные вопросы.
Литература
[1] Седов Л.И. Механика сплошной среды. Т. 1, 2. – М.: Наука, 1984.
[2] Нигматулин Р.И. Динамика многофазных сред. Т. 1, 2. – М.: Наука, 1987.
[3] Зверев И.Н., Смирнов Н.Н. Газодинамика горения. М.: Изд-во МГУ, 1987.
[4] Wilcox D.C. Turbulence modeling for CFD. DCW Industries, La Cañada, California,
1994.
[5] Incropera F.P., DeWitt D.P. Fundamentals of Heat and Mass Transfer // 3rd Ed. — 1990.
[6] Смирнов Н.Н., Никитин В.Ф. Влияние геометрии канала и температуры смеси на
переход горения в детонацию в газах. Физика горения и взрыва, 2004, № 2, 68-83.
[7] Годунов С.К. Разностный метод численного расчета разрывных решений уравнений
гидродинамики, Матем. сб. 1959, 47 (89, 3), 271-306.
[8] Von Neumann, Richtmyer R.D. A method for the numerical calculation of hydrodynamic
shocks. Journal of Applied Physics, 1950, 21(3), 232–237.
[9] Liou M.S., Steffen C. A new flux splitting scheme. J. Comput. Phys., 1993, 107, 23-39.
[10] Hirsch, C. Numerical computation of internal and external flows. Volume 2. Wiley, New
York, 1990.
[11] Van Leer B. Flux-vector splitting for the Euler equations. Lecture. Notes in Physics,
1982, 170, 507.
[12] Hänel D., Schwane R., Seider G. On the accuracy of upwind schemes for the solution of
the Navier-Stokes equations. 8th AIAA CFD Conference, 1987, AIAA 87-1105-CP.
[13] Roe P.L. A survey of upwind differencing techniques. Lecture Notes in Physics, 1989,
323, 69.
[14] Steger J.L., Warming R.F. Flux vector splitting of the inviscid gasdynamics equations
with application to finite difference methods. J. Comput. Phys., 1981, 40, 263.
[15] Liou M.S. A continuing search for a near-perfect numerical flux scheme Part I: AUSM+.
NASA TM-106524. March 1994.
[16] Roe P.L. Characteristic-based schemes for the Euler equations. Ann. Rev. Fluid Mech.,
1986. 18, 337.
[17] Van Leer B. Towards the ultimate conservative difference scheme II. Monotonicity and
conservation combined in a second order scheme. J. Comput. Phys., 1974, 14, 361-370.
[18] Sweby P.K. High resolution schemes using flux-limiters for hyperbolic conservation
laws. SIAM J. Num. Anal., 1984, 21, 995-1011.
[19] Lien F.S., M. Leschziner M.A. Upstream monotonic interpolation for scalar transport
with application to complex turbulent flows. Int. J. Num. Meth. Fluids, 1994, 19, 527.
[20] Koren B. A robust upwind discretisation method for advection, diffusion and source
terms, In: Numerical Methods for Advection-Diffusion Problems, Ed. C.B.Vreugdenhil
& B. Koren, Vieweg, Braunschweig, 1993, 117.
[21] Van Leer B. Towards the ultimate conservative difference scheme. III. Upstreamcentered finite-difference schemes for ideal compressible flow. J. Comp. Phys., 1977, 23,
263-275.
[22] Chatkravarthy S.R., Osher S. High resolution applications of the Osher upwind scheme
for the Euler equations, AIAA Paper 83-1943, Proc. AIAA 6th Computational Fluid
Dynamics Conference, 1983, 363–373.
[23] Waterson N.P., Deconinck H. A unified approach to the design and application of
bounded higher-order convection schemes, VKI Preprint, 1995, 21.
[24] Van Albada G.D., Van Leer B., Roberts W.W. A comparative study of computational
methods in cosmic gas dynamics. Astron. Astrophysics, 1982, 108, 76.
[25] LeVeque, Randall. Finite volume methods for hyperbolic problems. Cambridge
University Press, 2002.
[26] Darwish M.S. Darwish F., Moukalled F. B-EXPRESS: A new bounded extrema
preserving strategy for convective schemes. Numerical Heat Transfer Part B:
Fundamentals. 2000, 37(2), 227-246.
[27] Вильямс Ф.А. Теория горения. М. 1971.
[28] Vartharajan B., Williams F.A. Chemistry of hydrocarbon detonations. 14th ONR
Propulsion Meeting, August 8-10, 2001, University of Illinois at Chicago. Proceedings,
ed. by Gabriel D. Roy and Farzad Mashayek. 105-110.
[29] Мысовских И.П. Лекции по методам вычислений. М., 1962.
[30] Андерсон Д., Таннехилл Дж., Плетчер Р. Вычислительная гидродинамика и
теплообмен. М.: Мир, 1990.
[31] Huang W. Z., Ren Y., Russell R. D. Moving mesh methods based on moving mesh
partial differential equations. J. Comput. Phys. 1994, 113, 279.
[32] Stockie J.M., MacKenzie J.A., Russell R.D. A moving mesh method for one-dimensional
hyperbolic conservation laws. SIAM Journal on Scientific Computing: SISC. 2001,
22(5). 1791-1813. ISSN 1064-8275.
[33] Черный Г.Г. Газовая динамика: Учебник для университетов и втузов. М.: Наука,
1988.
Скачать