Уравнения мелкой воды - Институт прикладной математики им

advertisement
ИПМ им.М.В.Келдыша РАН • Электронная библиотека
Препринты ИПМ • Препринт № 21 за 2014 г.
Елизарова Т.Г., Булатов О.В.
Численный алгоритм
решения регуляризованных
уравнений мелкой воды на
неструктурированных сетках
Рекомендуемая форма библиографической ссылки: Елизарова Т.Г., Булатов О.В.
Численный
алгоритм
решения
регуляризованных
уравнений
мелкой
воды на
неструктурированных сетках // Препринты ИПМ им. М.В.Келдыша. 2014. № 21. 27 с. URL:
http://library.keldysh.ru/preprint.asp?id=2014-21
РОССИЙСКАЯ АКАДЕМИЯ НАУК
ОРДЕНА ЛЕНИНА ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ
имени М.В.КЕЛДЫША
Т.Г. Елизарова, О.В. Булатов
Численный алгоритм решения регуляризованных
уравнений мелкой воды на неструктурированных
сетках
Москва 2014
Т.Г. Елизарова, О.В. Булатов
Численный алгоритм решения регуляризованных уравнений мелкой
воды на неструктурированных сетках
Аннотация
В работе описан численный алгоритм для решения задач в приближении мелкой воды для неструктурированных сеток применительно к сложному рельефу дна.
Проведено тестирование алгоритма на примерах разрушения столба жидкости и задаче оразрушении плотины с затоплением поверхности с тремя конусами. Показано,
что построенное решение хорошо согласуется с результатами расчета известными
численными методами.
Ключевые слова: уравнения мелкой воды, центрально-разностная аппроксимация, неструктурированная сетка, сложный рельеф дна
T.G. Elizarova, O.V. Bulatov
Numerical algorithm for solving regularized shallow water equations on
unstructured grids
Abstract
The paper describes an algorithm for numerical computations in shallow water
approximation for unstructured meshes including complex bottom topography. The
algorithm was tested with destruction the liquid column and flooding over surface with
three humps. It is shown that the numerical solution agrees well with the results of wellknown numerical methods.
Keywords: shallow water equations, central difference approximations, unstructured
mesh, complex bottom profile
Содержание
1 Введение
3
2 Регуляризованные уравнения мелкой воды
5
3 Разностная аппроксимация уравнений
6
4 Эффективная реализация численного алгоритма
13
5 Условие покоящейся жидкости
16
6 Задача о разрушении столба жидкости
18
7 Задача о разрушении плотины и затоплении поверхности с тремя
конусами
19
8 Выводы
23
—3—
1
Введение
Уравнения мелкой воды (МВ) представляют собой упрощенную модель полных уравнений Навье-Стокса, описывающих пространственные
нестационарные течения вязкого сжимаемого газа. При выводе системы
уравнений МВ предполагается, что среда представляет собой достаточно
тонкий слой, глубина которого много меньше его продольного размера,
поэтому вертикальной составляющей скорости в слое можно пренебречь
и полагать, что продольные скорости постоянны по толщине слоя. Дополнительно предполагается, что жидкость несжимаема, находится в поле
сил тяжести и ее температура постоянна.
Для плоских двумерных течений уравнения мелкой воды представимы в виде [1], [2]
∂h ∂ux h ∂uy h
+
+
= 0,
∂t
∂x
∂y
(1)
´
∂hux
∂ ³ 2 1 2´
∂³
∂b
+
hux + gh +
hux uy = hfx − gh ,
∂t
∂x
2
∂y
∂x
(2)
´
∂huy
∂ ³
∂ ³ 2 1 2´
∂b
+
hux uy +
huy + gh = hfy − gh .
∂t
∂x
∂y
2
∂y
(3)
Здесь h(x, y, t) - высота уровня жидкости над профилем дна b(x, y), ux и
uy - компоненты скорости, g - сила тяжести, fx и fy - компоненты внешней
силы. Для течений над плоской поверхностью в отсутствии внешних сил
система уравнений (1) – (3) носит название уравнений Сен-Венана.
В [3] был построен регуляризованный вид уравнений МВ (1) – (3),
который позволил разработать эффективный численный алгоритм для
численного моделирования течений в приближении мелкой воды. Помимо ряда классических тестовых примеров, построенный алгоритм позволил решить цикл задач о распаде разрыва над уступами и ступеньками
—4—
дна [4]. В дальнейшем этот метод был обобщен для расчета течений, в
которых возможно формирование областей сухого дна. В частности, данный алгоритм позволил провести расчеты течений жидкости в баках,
использующихся для перевозки жидких углеводородов, при внезапном
изменении скорости движения емкости [5], [6].
Однако все перечисленные выше модификации численного алгоритма
решения уравнений МВ были разработаны для структурированных прямоугольных пространственных сеток. Тем не менее для широкого круга
практических приложений представляет интерес моделирование течений
в областях со сложной формой границ и рельефом дна. Такими течениями являются, например, течения в береговых зонах морей и в руслах рек.
Для указанных применений требуется разработка численного алгоритма
с использованием неструктурированных пространственных сетках.
Известно, что обобщение численных алгоритмов решения уравнений
мелкой воды для их использования на неструктурированных сетках вызывает серьезные проблемы. Помимо проблем с аппроксимацией уравнений и устойчивостью алгоритма к ним относится аккуратное выполнение
условий покоящейся жидкости для течений над сложной формой подстилающей поверхности. Последнее означает, что в изначально покоящейся
жидкости не должны возникать возмущения, обусловленные неровностями дна. В англоязычной литературе численный алгоритм, обладающий
этим свойством, называют well-balanced scheme [7]. Кроме того, сложной
задачей для аппроксимации уравнений на неструктурированных сетках
является постановка аккуратных условий на границах с сухим дном. Такие границы неизбежно возникают при течении жидкости в окрестности
наклонных стенок и островов [7], [8] и [9].
Построение и апробация численного метода решения регуляризованных уравнений МВ на неструктурированных сетках представлено в данной работе.
—5—
2
Регуляризованные уравнения мелкой воды
Согласно [3] регуляризованные уравнения МВ (1) – (3) имеют вид
∂h ∂jmx ∂jmy
+
+
= 0,
∂t
∂x
∂y
(4)
³
∂hux ∂jmx ux ∂jmy ux
∂ ³ gh2 ´
∂b ´ ∂Πxx ∂Πyx
?
+
+
+
= h fx − g
+
+
, (5)
∂t
∂x
∂y
∂x 2
∂x
∂x
∂y
³
∂huy ∂jmx uy ∂jmy uy
∂ ³ gh2 ´
∂b ´ ∂Πxy ∂Πyy
?
+
+
+
= h fy − g
+
+
, (6)
∂t
∂x
∂y
∂y 2
∂y
∂x
∂y
где
?
h =h−τ
³ ∂hu
∂huy ´
+
.
∂x
∂y
x
(7)
Выражения для плотности потока массы здесь представлены в виде
jmx = h(ux − wx ),
jmy = h(uy − wy ),
где
´
τ ³ ∂(hu2x ) ∂(hux uy )
∂h
∂b
wx =
+
+ gh
+ gh
− hfx ,
h
∂x
∂y
∂x
∂x
´
τ ³ ∂(hux uy ) ∂(hu2y )
∂h
∂b
wy =
+
+ gh
+ gh − hfy .
h
∂x
∂y
∂y
∂y
По аналогии с соответствующими выражениями для квазигазодинамических (КГД) уравнений [10] и [11], выражение Πij удобнее записать в
ином виде, что позволяет сделать результирующие формулы более компактными. При этом
Πxx = ux wx? + R?
Πyx = uy wx?
Πxy = ux wy?
Πyy = uy wy? + R?
Здесь величины wx? ,wx? и R? обозначают следующие выражения
¶
µ
³1
´
∂u
∂
∂b
∂u
x
x
+ huy
+
gh2 + gh
− hfx
wx? = τ hux
∂x
∂y
∂x 2
∂x
(8)
—6—
µ
¶
³1
´
∂u
∂u
∂
∂b
y
y
wy? = τ hux
+ huy
+
gh2 + gh − hfy
∂x
∂y
∂y 2
∂y
µ
¶
³
∂ ³ 1 2´
∂ ³ 1 2´
∂uy ´
?
2 ∂ux
R = gτ ux
h + uy
h +h
+
.
∂x 2
∂y 2
∂x
∂y
Отметим, что тензор Πij оказывается несимметричным. Однако в данном случае симметричной остается величина Λij = uj jm,i − Πij + δij 21 gh2 ,
которая позволяет представить уравнения движения в виде
³
∂hux ∂Λxx ∂Λyx
∂b ´
?
+
+
= h fx − g
∂t
∂x
∂y
∂x
³
∂b ´
∂huy ∂Λxy ∂Λyy
?
+
+
= h fy − g
∂t
∂x
∂y
∂y
В приведенных выражениях малая величина τ называется параметром
регуляризации или временного сглаживания, и имеет размерность времени. Слагаемые с коэффициентом τ представляют собой регуляризующие
добавки к уравнениям мелкой воды (1) – (3).
В работах [12], [13] и [14] показано, что регуляризующие добавки носят
диссипативный характер. Здесь же изучались свойства точных решений
регуляризованных уравнений и их соотношения с точными решениями
исходных уравнений как для баротропных уравнений газовой динамики,
так и для приближения мелкой воды. В работе [15] методом энергетических неравенств в линейном приближении получено достаточное условие устойчивости разностной схемы решения регуляризованных уравнений, совпадающее с условием Куранта. В следующей работе авторов [16]
показано преимущество численного метода на основе регуляризованных
уравнений Сен-Венана по сравнению со схемой Лакса-Фридрихса.
3
Разностная аппроксимация уравнений
Допустим, что интересующая нас область расчета уже покрыта пространственной сеткой, состоящей из треугольников. Построим явную по
—7—
времени схему решения системы уравнений (1) – (3) с использованием
интегро-интерполяционного метода. При этом будем использовать подход, изложенный в [10] для двумерных КГД уравнений.
M2 (Mk+1)
P2 (Pk+1)
M2
P1
M1
P3/2
P2
M3
P1 (Pk)
P5
P3
M0
P4
M4
M5
M0
Рис. 1. Слева – фрагмент триангуляции расчетной области. Справа – четырехугольник для демонстрации аппроксимации производных в потоковых величинах
Обратимся к рис. 1, на котором изображен фрагмент триангуляции
области расчета. Будем рассматривать точку M 0, для которой требуется
найти значения h, ux и uy на следующем слое по времени. На рисунке
соседние с ней узлы расчетной сетки обозначены как M 1...M 5. Пунктиром обозначен контрольный объем, который привязан к рассматриваемой точке M 0. В имеющейся реализации он строится на основе точек
соседних треугольников, которые являются пересечением медиан. Можно сказать, что это является одним из простейших вариантов построения
контрольного объема и аппроксимации переменных в точках P 1...P 5, которые формируют контрольный объем.
Переходим к аппроксимации пространственных производных. Согласно общему подходу, выбираем область, для которой требуется найти разностный аналог производной. Допустим, что мы рассматриваем производные, которые входят в уравнение неразрывности (1).
—8—
Рассматриваемой областью будет многоугольник P 1...P 5. Тогда аппроксимация производных записывается в виде
∂q
∂q
1X
1X
≈
qk+1/2 · nxk+1/2 · Lk
≈
qk+1/2 · nyk+1/2 · Lk (9)
∂x
S
∂y
S
k
k
Здесь q обозначает произвольную потоковую переменную. Индекс k+1/2
служит для обозначения того, что берется значение на ребре. Например,
это может быть полусумма значений в вершинах. Пусть величина hk
привязана к k вершине многоугольника P 1...P 5, тогда
hk + hk+1
2
x
uk + uxk+1
=
2
hk+1/2 =
uxk+1/2
uyk+1/2
uyk + uyk+1
=
2
Нормаль ~n является внешней нормалью по отношению к контрольному
объему, то есть она направлена наружу. Lk обозначает длину ребра k.
Отдельно обсудим способ вычисления параметра регуляризации для
неструктурированной сетки, а именно выражение для τk+1/2 , где в числителе τM i стоит периметр контрольного объема P 1...P 5.
P
α k Lk
τM i = √
N ghM i
и N - число отрезков, составляющих контрольный объем.
При аппроксимации потоковых величин, входящих в уравнения (1)
– (3) требуется определить значение параметра τ в полуцелой точке,
расположенной на соответствующей границе контрольного объема. Например, последнее наглядно видно при аппроксимации потока ~j через
ребро P 1P 2. При этом величину τk+1/2 следует выбирать таким образом, чтобы не нарушались законы сохранения на границе между соседними ячейками, которые обеспечиваются равенством потоков, втекающих
и вытекающих через соответствующую границу. Кроме того аппроксимация параметра сглаживания должна позволять реализовать условия
сухого дна.
—9—
Напомним, что для регуляризованных уравнений МВ условие сухого
дна ставится с использованием параметра отсечения ² следующим образом:
u = 0, τ = 0, если h < ²
В свою очередь величина параметра отсечения ² ограничена снизу максимальным перепадом уровня профиля дна на рассматриваемом шаблоне.
Для неструктурированной сетки шаблон имеет форму многоугольника
(см. рис. 1)
²i >
max
(bm − bi ).
(m)∈шаблон
Параметр отсечения ² задается только для расчетных точек i, и задавать
его для ребер k является неудобным.
Поэтому значение τ на ребре k удобно вычислять как среднее
τk+1/2 = 0.5(τM 0 + τM 2 ).
Рассматривая уравнения (4) получаем разностную схему для нахождения ĥ.
´
∆t X³ x
y
y
x
ĥi = hi − cont
jm,k+1/2 nk+1/2 + jm,k+1/2 nk+1/2
Si
(10)
k
Здесь Sicont обозначает контрольный объем, который привязан к расчетной точке с номером i. Величины с индексом k + 1/2 привязаны к сторонам многоугольника P 1...P 5.
Перейдем к аппроксимации величин, которые входят в потоковые члены. Вновь используем формулы (9). Для нахождения потока через ребро
P 1P 2 будем использовать разностный аналог частных производных для
области M 0P 1M 2P 2. Соответствующий четырехугольник изображен на
рис. 1.
Нормали выражаются через координаты точек четырехугольника
nxk+1/2 =
y(Pk+1 ) − y(Pk )
L(Pk , Pk+1 )
nyk+1/2 =
x(Pk ) − x(Pk+1 )
L(Pk , Pk+1 )
—10—
Площадь четырехугольника нам также известна
·
¢¡
¢
1 ¡
Sk+1/2 =
x(M0 ) − x(Mk+1 ) y(Pk ) − y(Pk+1 )
2
¸
¡
¢¡
¢
+ x(Pk ) − x(Pk+1 ) y(Mk+1 ) − y(M0 )
Пусть f обозначает произвольную переменную. Тогда, используя формулы (9), запишем вид разностного аналога для производных, которые
входят в потоковые величины.
µ ¶
∂f
= (f (Pk+1 ) − f (Pk ))(y(M0 ) − y(Mk+1 )) +
∂x k+1/2
(f (Mk+1 ) − f (M0 ))(y(Pk+1 ) − y(Pk ))/
(11)
(x(M0 ) − x(Mk+1 ))(y(Pk ) − y(Pk+1 )) +
(x(Pk ) − x(Pk+1 ))(y(Mk+1 ) − y(M0 ))
µ
∂f
∂y
¶
= (f (Pk+1 ) − f (Pk ))(x(Mk+1 ) − x(M0 )) +
(12)
k+1/2
(f (Mk+1 ) − f (M0 ))(x(Pk ) − x(Pk+1 ))/
(x(M0 ) − x(Mk+1 ))(y(Pk ) − y(Pk+1 )) +
(x(Pk ) − x(Pk+1 ))(y(Mk+1 ) − y(M0 ))
Поправки к скорости wx и wy , которые вычисляют на k-ом ребре, имеют
вид
·µ
µ
¶
¶
τk+1/2
∂
∂
x 2
x y
=
h(u )
+
hu u
hk+1/2 ∂x
∂y
k+1/2
k+1/2
µ
¶
µ
¶
¸
∂(0.5h2 )
∂b
x
+g
+ ghk+1/2
− hk+1/2 fk+1/2
∂x
∂x k+1/2
k+1/2
x
wk+1/2
·µ
¶
µ
¶
τ
∂
∂
k+1/2
y
hux uy
h(uy )2
+
wk+1/2
=
hk+1/2 ∂x
∂y
k+1/2
k+1/2
µ
¶
µ
¶
¸
2
∂(0.5h )
∂b
y
+g
+ ghk+1/2
− hk+1/2 fk+1/2
∂y
∂y k+1/2
k+1/2
Эти поправки входят в выражение для ~j
x
x
jk+1/2
= hk+1/2 (uxk+1/2 − wk+1/2
)
y
y
jk+1/2
= hk+1/2 (uyk+1/2 − wk+1/2
)
—11—
Если не расписывать выражения для аппроксимации производных, то
остальные выражения также получают простую условную запись
·
µ
¶
³ ∂ux ´
³ ∂ux ´
y
x?
x
wk+1/2 = τk+1/2 hk+1/2 uk+1/2
+ uk+1/2
∂x k+1/2
∂y k+1/2
¸
³ ∂(0.5h2 ) ´
³ ∂b ´
x
+g
+ ghk+1/2
− hk+1/2 fk+1/2
k+1/2
∂x
∂x
Для справок распишем эту формулу, чтобы показать запись аппроксимации производных, которые входят в это выражение. Обратимся к формулам (11) и (12), которые подставим в предыдущее выражение. Соответствующие точки M 0,Mk+1/2 ,Pk ,Pk+1/2 показаны на рис.1
·
µ
³h
x
x?
wk+1/2 = τk+1/2 hk+1/2 uk+1/2 {ux (Pk+1 ) − ux (Pk )}{y(M0 ) − y(Mk+1 )} +
i.
´
x
x
{u (Mk+1 ) − u (M0 )}{y(Pk+1 ) − y(Pk )} 2Sk+1/2
³h
y
+uk+1/2 {ux (Pk+1 ) − ux (Pk )}{x(Mk+1/2 ) − x(M0 )} +
i.
´¶
{ux (Mk+1 ) − ux (M0 )}{x(Pk ) − x(Pk+1 )} 2Sk+1/2
³h
+0.5g {h2 (Pk+1 ) − h2 (Pk )}{y(M0 ) − y(Mk+1 )} +
i.
´
2
2
{h (Mk+1 ) − h (M0 )}{y(Pk+1 ) − y(Pk )} 2Sk+1/2
³h
+ghk+1/2 {b(Pk+1 ) − b(Pk )}{y(M0 ) − y(Mk+1 )} +
i.
´
{b(Mk+1 ) − b(M0 )}{y(Pk+1 ) − y(Pk )} 2Sk+1/2
¸
x
−hk+1/2 fk+1/2
Подобный вид принимают все потоковые переменные, которые содержат
производные. Остальные выражения запишем с использованием условных выражений, где под производной понимается ее разностная аппроксимация
y?
wk+1/2
·
µ
= τk+1/2 hk+1/2
+g
uxk+1/2
³ ∂uy ´
³ ∂(0.5h2 ) ´
∂y
k+1/2
∂x
k+1/2
+ ghk+1/2
+
uyk+1/2
³ ∂b ´
∂y
³ ∂uy ´
∂y
¶
k+1/2
y
− hk+1/2 fk+1/2
¸
—12—
·
?
Rk+1/2
=
τk+1/2 uxk+1/2
³ ∂(0.5h2 ) ´
∂x
k+1/2
+
uyk+1/2
+(h2 )k+1/2
µ³
³ ∂(0.5h2 ) ´
x´
∂u
∂x
k+1/2
∂y
³ ∂uy ´¶¸
+
∂y
Промежуточные величины служат для нахождения Πij
x
x?
?
Πxx
k+1/2 = uk+1/2 wk+1/2 + Ri+1/2,j
y?
x
Πxy
k+1/2 = uk+1/2 wk+1/2
y
x?
Πyx
k+1/2 = uk+1/2 wk+1/2
y
y?
?
Πyy
k+1/2 = uk+1/2 wk+1/2 + Rk+1/2
После этого находим значения на следующем временном слое. Приводился вид выражения (10) для нахождения ĥ. Осталось найти ûx и ûy .
∆t X xx
∆t X x
x
ĥi ûxi = hi uxi + cont
Πk+1/2 nxk+1/2 Lk − cont
uk+1/2 jk+1/2
nxk+1/2 Lk −(13)
Si
Si
k
k
X
∆t X yx
∆t
−g cont
(0.5h2 )k+1/2 nxk+1/2 Lk + cont
Πk+1/2 nyk+1/2 Lk
Si
Si
k
k
µ
¶
X
X
∆t
g
y
− cont
uxk+1/2 jk+1/2
nyk+1/2 Lk + ∆t fix − cont
bk+1/2 nxk+1/2 Lk ·
Si
Si
k
k
µ
¶
X
X
τi
τ
i
(x)
y
y
hi − cont
hk+1/2 uxk+1/2 nxk+1/2 Lk − cont
hk+1/2 uk+1/2 nk+1/2 Lk
Si
Si
k
k
∆t X xy
∆t X y
x
x
Π
n
L
−
uk+1/2 jk+1/2
nxk+1/2 Lk +(14)
k+1/2 k+1/2 k
Sicont
Sicont
k
k
X
∆t
∆t X y
yy
y
y
+ cont
Πk+1/2 nk+1/2 Lk − cont
uk+1/2 jk+1/2
nyk+1/2 Lk
Si
Si
k
k
µ
¶
X
X
∆t
g
−g cont
(0.5h2 )k+1/2 nyk+1/2 Lk + ∆t fiy − cont
bk+1/2 nyk+1/2 Lk ·
Si
Si
k
k
¶
µ
X
X
τ
τi
i
(y)
hk+1/2 uxk+1/2 nxk+1/2 Lk − cont
hk+1/2 uyk+1/2 nyk+1/2 Lk
hi − cont
Si
Si
ĥi ûyi = hi uyi +
k
(x)
k
(y)
(x)
Величины hi и hi могут вычисляться как hi
(x)
ратная аппроксимация величин hi
(y)
= hi = hi . Более акку-
(y)
и hi , обеспечивающая выполнение
условия ”well-balance”, будет приведена в разделе 5. Все эти вычисления проводятся для внутренних точек. Для аппроксимации граничных
условий используем выражения, приведенные в [10]. Обратимся к рис.
—13—
2, на котором изображена граничная точка B вместе с ее соседями Mi ,
которые являются внутренними точками. Используя этот шаблон, вы-
Mi
M2
Mn
M1
Bj
Рис. 2. Аппроксимация граничных условий
пишем аппроксимацию граничных условий. Граничное условие Дирихле
f |Γ = f0 аппроксимируется f (Bj ) = f0 . Разностный аналог граничного
условия Неймана
¯
∂f ¯¯
= q0
∂n ¯Γ
запишем в виде
i=N
i=N
q0 X
1 X
f (Mi ) +
L(Bj , Mi )
f (Bj ) =
N i=1
N i=1
Здесь L(Bj , Mi ) - расстояние между точками Bj и Mi .
4
Эффективная реализация численного алгоритма
Для упрощения программной реализации будем расчитывать суммарное значение всех потоков, втекающих в рассматриваемый контрольный
объем. Этим описанный алгоритм отличается от изложенного в [10]. Для
пояснения обратимся к рис. 1. На нем ребро соединяет точки M 0 и M 2
—14—
5
4
y
3
2
1
0
0
1
2
x 3
4
5
Рис. 3. Пример триангуляции
и пересекает сторону P 1P 2 контрольного объема. Вычислим поток на
этой стороне. Приведем конкретный пример. Рассмотрим формулу (10)
для нахождения ĥ.
x
В сумму входит величина jm,k+1/2
nxk+1/2 . Будем считать, что нормаль
к стороне P 1P 2 контрольного объема P 1...P 5 направлена на точку M 2.
Используя этот факт, прибавим и вычтем соответствующее значение
P x
x
x
jm,k+1/2
nxk+1/2 из суммы
k jm,k+1/2 nk+1/2 . Обозначим эту сумму переменной ΣH (i). Индекс i указывает на то, что данная сумма из k величин
(число соседей точки, число ребер, число сторон контрольного объема)
относится к i-ой точке. Другими словами, используем следующую схему
x
ΣH (M 0) = ΣH (M 0) + jm,k+1/2
nxk+1/2 ,
(15)
x
ΣH (M 2) = ΣH (M 2) − jm,k+1/2
nxk+1/2
(16)
—15—
При этом в алгоритме появляются новые величины, которые отвечают
за суммы. Для каждой точки нужно найти суммы следующих элементов.
X
y
x
ΣH (i) =
(jm,k+1/2
nxk+1/2 + jm,k+1/2
nyk+1/2 )Lk
k
ΣHUx (i) =
X³
x
x
2
x
(Πxx
k+1/2 − uk+1/2 jk+1/2 − 0.5g(h )k+1/2 )nk+1/2 +
k
(Πyx
k+1/2
−
y
uxk+1/2 jk+1/2
)nyk+1/2
´
Lk
X³ xy
x
x
ΣHUy (i) =
(Πk+1/2 − uyk+1/2 jk+1/2
)nk+1/2
+
k
(Πyy
k+1/2
−
y
uyk+1/2 jk+1/2
− 0.5g(h
2
)k+1/2 )nyk+1/2
´
Lk
Кроме того нам понадобятся суммы еще нескольких элементов в различных комбинациях.
X
ΣB,dx (i) = g
bk+1/2 nxk+1/2 Lk
k
ΣH,ux ,uy (i) =
ΣB,dy (i) = g
X
bk+1/2 nyk+1/2 Lk
k
X
(hk+1/2 uxk+1/2 nxk+1/2 + hk+1/2 uyk+1/2 nyk+1/2 )Lk
k
Данные величины привязаны к каждой точке. Их нужно вычислять
на каждом новом временном слое. После нахождение этих величин, можно найти значения h,ux и uy на следующим временном слое. Например,
в случае ĥ.
ĥi = hi −
∆t
ΣH (i)
Sicont
Аналогично, значение скорости вычисляем следующим образом
³
´³
´i
1 h x ∆t
1
τi
(x)
x
x
ûi =
hi ui + cont ΣHUx (i)+∆t fi − cont ΣB,dx (i) · hi − cont ΣH,ux ,uy (i)
Si
Si
Si
ĥi
³
´³
´i
1
1 h y ∆t
τi
(y)
y
y
hi ui + cont ΣHUy (i)+∆t fi − cont ΣB,dy (i) · hi − cont ΣH,ux ,uy (i)
ûi =
Si
Si
Si
ĥi
Для тестирования и оценки скорости счета данного алгоритма рассматривалась задача распада разрыва. Задача ставилась для прямоугольной
—16—
области (высота 5м, ширина 5м), которая была покрыта треугольниками
(4063 вершин, 7922 треугольников). Вид сетки приведен на рис 3. Параметры для задачи были выбраны следующие: слева от разрыва hl = 10м,
справа от разрыва hr = 0.1м. Использовали фиксированный шаг по времени ∆t = 0.0001с, расчет велся до момента времени t0 = 0.14с. Также
константы имели значения α = 0.08. Программное время расчета составило 11 минут на персональном компьютере с процессором Intel Pentium
M. Программа написана на языке C++.
5
Условие покоящейся жидкости
Желательно, чтобы построенная разностная схема не нарушала условие гидростатического равновесия, или условия покоящейся жидкости.
В англоязычной литературе такой численный алгоритм называют wellbalanced scheme [7].
Z
X
Z
t = 0.015s
t = 0s
Y
X
Рис. 4. Поверхность жидкости для различных моментов времени в задаче разрушения цилиндрического столба жидкости. На левом рисунке показано начальное
возмущение вместе с сеткой. На правом рисунке приведена поверхность жидкости в
момент времени t = 0.015c.
Указанное условие имеет простой физический смысл - в изначально
Y
—17—
Z
t = 0.05s
Z
t = 0.08s
X
Y
X
Рис. 5. На левом рисунке изображена свободная поверхность жидкости для задачи разрушения цилиндрического столба жидкости в момент времени t = 0.05c. На
правом рисунке вместе с сеткой показана свободная поверхность жидкости в момент
времени t = 0.08c.
покоящейся жидкости не должны появляться возмущения из-за неровностей дна. Для непосредственной проверки выполнения этого условия нужно положить в нашем численном алгоритме f = 0, u = 0 и
h + b = const и убедиться в точном выполнении разностных соотношений.
Для одномерного и двумерного случая в [3] проведены простые модификации алгоритма, которые обеспечивают условия гидростатического
равновесия.
Построим аналогичные условия для сеточных формул (13) и (14). Значения Πi,j при u = 0 становятся нулевыми. Также нулевыми становятся
значения ΣH,ux ,uy (i) = 0. В результате для значений скорости на следующем временном слое получаем
i
g∆t h
(x)
2
x
x
Σk (0.5h )k+1/2 · nk+1/2 · Lk + hi Σk bk+1/2 · nk+1/2 · Lk
=−
ĥi Sicont
i
g∆t h
(y)
y
y
y
2
Σk (0.5h )k+1/2 · nk+1/2 · Lk + hi Σk bk+1/2 · nk+1/2 · Lk
ûi = −
ĥi Sicont
ûxi
Y
—18—
Используем начальные условия, тогда bk+1/2 = const − hk+1/2 . Кроме
того для многоугольников сумма нормалей всех сторон, помноженная на
длину ребер, равна нулю.
Σk · ~nk+1/2 · Lk = 0
Получаем окончательное выражения для скорости
i
g∆t h
(x)
x
2
x
x
ûi = −
Σk (0.5h )k+1/2 · nk+1/2 · Lk − hi Σk hk+1/2 · nk+1/2 · Lk
ĥi Sicont
i
g∆t h
(y)
y
y
y
2
ûi = −
Σk (0.5h )k+1/2 · nk+1/2 · Lk − hi Σk hk+1/2 · nk+1/2 · Lk
ĥi Sicont
(x)
(y)
Эти выражения равны нулю, если вместо hi , hi подставить выражения
(x)
hi
=
Σk (0.5h2 )k+1/2 · nxk+1/2 · Lk
Σk hk+1/2 · nxk+1/2 · Lk
(y)
hi
=
Σk (0.5h2 )k+1/2 · nyk+1/2 · Lk
Σk hk+1/2 · nyk+1/2 · Lk
Чтобы использовать данную модификацию для численного алгоритма
нужно вводить в программный код дополнительные переменные и массивы. Вопрос о целесообразности использования описанной модификации только для того, чтобы выполнялось условие покоящейся жидкости,
следует решать в зависимости от важности этого эффекта в конкретной
задаче.
6
Задача о разрушении столба жидкости
В данном тесте смоделировано разрушение цилиндрического столба
жидкости, расположенного в начальный момент времени на поверхности
покоящейся жидкости. Задача такого рода рассматривалась, например,
в статьях [8], [17]. Область расчета имеет ширину 1м, длину 1м. В центре
области находится столб жидкости радиусом 0.05м и высотой 4м., считая
от поверхности жидкости. Уровень невозмущенной поверхности составляет h = 1м. Если посмотреть на поверхность жидкости в начальный
—19—
момент времени, то мы увидим цилиндрический столб (рис. 4). Неструктурированная сетка состоит из 3096 треугольников с 1609 узлами. Левые
и правые, верхние и нижние границы свободны, стенки отсутствуют.
Расчет проводился до момента времени t = 0.08c. Для более позднего
момента фронт ударной волны выходит за границы области. Параметр
регуляризации в данной задаче α = 0.6, число Куранта β = 0.05.
На рис. 4, 5 показана временная эволюция поверхности жидкости для
моментов времени t = 0c, t = 0.015c, t = 0.05c, t = 0.08c. При распаде
столба жидкости сначала образуется круговой фронт ударной волны. Изза распространения ударной волны уровень жидкости в центре падает,
что ведет к образованию обратного потока жидкости. На рис. 6 можно увидеть описанную картинку с четким разделением двух областей.
В наружной области жидкость истекает от центра, во внутренней части
области жидкость стремится к центру. Численные расчеты адекватным
образом отображают все особенности данной задачи, такие как образование фронта ударной волны, скорость его распространения и возникновение оттока жидкости к центру области. Все указанные особенности
течения хорошо соответствуют результатам, приведенным в [8] и [17].
Данный тест показывает, что для неравномерной сетки, которая не
обладает центральной симметрией, мы получили симметричную картину
течения.
7
Задача о разрушении плотины и затоплении поверхности с тремя конусами
Задача о разрушении плотины и затопления поверхности с тремя конусами используется как один из тестов для проверки возможности численного алгоритма работать с процессами намокания и осушения. Подобная
задача была предложена в работе [18], и впоследствии нашла широкое
—20—
t = 0.08s
0.5
0.4
H
0.3
1.5
1.1
1.05
1
0.9
0.8
0.5
0.2
Y
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
X
Рис. 6. Линии уровня h и линии тока в момент времени t = 0.08c.
применение у разных исследователей [7], [9], [19].
Рассмотрим начальные условия. Канал имеет длину 75м и ширину
30м. Начальный разрыв расположен на линии x = 16м, глубина жидкости слева от разрыва составляет h = 1.875м, в остальной области полагаем, что дно сухое.
Обтекаемые препятствия представляют собой три конуса разных размеров. Основание первого конуса высотой h1 = 3м расположено в центре
с координатами x = 47.5м, y = 15м, радиус основания r1 = 10м. Остальные два конуса имеют одинаковую высоту h2 = 1м и радиус r2 = 7.5м.
Центр одного из малых конусов расположен в точке x = 30м, y = 5.25м,
а центр другого малого конуса в точке x = 30м, y = 24.75м. Для задания
поверхности используем следующие условия для большого конуса
p
b(x, y) = 3 ∗ (1 − (x − 47.5)2 + (y − 15)2 /10),
если (x − 47.5)2 + (y − 15)2 <= 102 .
—21—
Рис. 7. Профиль дна b и свободная поверхность жидкости h + b в начальный момент
времени t = 0c.
К ним добавляем условия для малого конуса с центром x = 30м, y =
5.25м.
b(x, y) = (1 −
p
(x − 30)2 + (y − 5.25)2 /7.5),
если (x − 30)2 + (y − 5.25)2 <= 7.52
Второй малый конус с центром x = 30м, y = 24.75м задается похожими
условиями
b(x, y) = (1 −
p
(x − 30)2 + (y − 24.75)2 /7.5),
если (x − 30)2 + (y − 24.75)2 <= 7.52
Для численных расчетов использовалась неструктурированная сетка с числом вершин N = 2517, при этом число элементов равнялось
E = 4864. Расчет велся до t = 300с, когда мы полагаем, что жидкость
пришла к состоянию покоя. Параметр регуляризации для рассматриваемой задачи равняется α = 0.6, а число Куранта равнялось β = 0.05.
Параметр отсечения ², определяющий точность расчета областей сухого дна, выбирался для каждой точки i отдельно и зависел от наклона
—22—
Рис. 8. Профиль дна b и свободная поверхность жидкости h + b в момент времени
t = 6c.
профиля дна в данной точке. Для расчетов мы выбрали следующее выражение для задания ², где пример шаблона изображен слева на рис.1
²i = 2
max
(bm − bi )
(m)∈шаблон
На рис. 7 показан профиль дна и начальное распределение жидкости
вместе с неструктурированной сеткой. На рис. 8, 9, 10 изображены профиль дна и профиль свободной поверхности жидкости в моменты времени t = 6c, t = 12c, t = 30c. Белым цветом обозначены области, где
мы полагаем, что жидкость отсутствует. На практике это означает, что
для таких областей h < ². На рисунках свободная поверхность жидкости
окрашена в различные цвета в зависимости от глубины жидкости h. На
приведенных рисунках 8, 9, 10 видно, как жидкость обтекает два маленьких холмиках, как происходит процесс набегания волны на наклонную
поверхность. На рисунках также видно столкновения набегающей волны
с самой высокой выпуклостью, вершина которой всегда остается сухой.
Затем вокруг маленьких холмиков образуется область с сухим дном. Полученные результаты хорошо соответствуют численным результатам из
—23—
Рис. 9. Профиль дна b и свободная поверхность жидкости h + b в момент времени
t = 12c.
работы [7], где для расчета использовался специальным образом модифицированный метод Годунова для задач с сухим дном.
8
Выводы
В данной работе предложен и опробован численный алгоритм решения
уравнений МВ для неструктурированных сеток, основанный на методе
конечного объема с аппроксимацией всех пространственных производных, включая конвективные слагаемые, с помощью центральных разностей. Устойчивость алгоритма обеспечивается регуляризующими добавками и имеет вид условия Куранта.
Алгоритм позволяет описывать течения с зонами сухого дна переменной формы и учитывать сложную форму подстилающей поверхности.
Численный алгоритм обладает свойством хорошей балансировки, то есть
для изначально неподвижной жидкости наличие неровностей дна не вызывает нефизических возмущений поверхности. Благодаря центральноразностным аппроксимациям пространственных производных алгоритм
—24—
Рис. 10. Профиль дна b и свободная поверхность жидкости h + b в момент времени
t = 30c.
обладает свойством симметрии и не требует дополнительных процедур
симметризации даже для несимметричных сеток.
Для численного интегрирования в данном алгоритме используется явная по времени разностная схема, что делает его реализацию достаточно
простой. Последнее позволяет естественным образом адаптировать метод для проведения расчетов на многопроцессорных вычислительных системах. Указанные преимущества выделяют предложенный численный
метод из ряда других имеющихся методов решения задач в приближении
мелкой воды.
Работа выполнена при поддержке Российского фонда фундаментальных исследований, проект РФФИ 13-01-00703-а.
—25—
Список литературы
[1] Дж.Дж. Стокер. Волны на воде. Математическая теория и приложения. М.: ИЛ. 1959.
[2] А.Г. Куликовский, Н.В. Погорелов, А.Ю. Семенов. Математические
вопросы численного решения гиперболических систем уравнений.
Москва: Физматлит. 2001.
[3] О.В. Булатов, Т.Г. Елизарова. Регуляризованные уравнения мелкой воды и эффективный метод численного моделирования течений
в неглубоких водоемах. Журнал вычислительной математики и математической физики, 2011, т. 51, № 1, с. 170–184.
[4] О.В. Булатов. Аналитические и численные решения уравнений СенВенана для некоторых задач о распаде разрыва над уступом и ступенькой дна. Журнал вычислительной математики и математической физики, 2013, т. 53, № 12, с. 170–184.
[5] Т.Г. Елизарова, Д.С. Сабурин. Численное моделирование колебаний
жидкости в топливных баках. Математическое моделирование, 2012,
т. 24, № 4, с. 107–116.
[6] Т.Г. Елизарова, Д.С. Сабурин. Математическое моделирование и визуализация течений жидкости в грузовой емкости газовоза при его
соударении с ледовым препятствием. Журнал "Визуализация 2013,
т. 24, № 4, с. 107–116.
[7] Yuxin Huang, Ningchuan Zhang, Yuguo Pei. Well-balanced finite volume
scheme for shallow water flooding and drying over arbitrary topography.
Engineering Applications of Computational Fluid Mechanics, 2013, vol.
7, no. 1, pp. 40–54.
—26—
[8] M. Ricchiuto, R. Abgrall, H. Deconinck. Application of conservative
residual distribution schemes to the solution of the shallow water
equations on unstructured meshes. Journal of Computational Physics,
2007, vol. 222, pp. 287–331.
[9] Song L, Zhou J, Li Q, Yang X, Zhang Y. An unstructured finite
volume model for dam-break floods with wet/dry fronts over complex
topography. International Journal for Numerical Methods in Fluids,
2011, vol. 67, no. 8, pp. 960–980.
[10] Т.Г. Елизарова. Квазигазодинамические уравнения и методы расчета вязких течений. Москва: Научный мир. 2007. – 352 с.
[11] Ю.В. Шеретов. Динамика сплошных сред при пространственновременном осреднении. Москва–Ижевск: НИЦ “Регулярная и хаотическая динамика”. 2009. – 400 с.
[12] Ю.В. Шеретов. О свойствах решений квазигидродинамических
уравнений в баротропном приближении. Журнал Вестник Тверского государственного университета. Серия "Прикладная математика 2009, т. 3, с. 5–19.
[13] А.А. Злотник. Энергетические равенства и оценки для баротропных
квазигазо- и квазигидродинамических систем уравнений. Журнал
вычислительной математики и математической физики, 2010, т. 50,
№ 2, с. 325–337.
[14] A.A. Zlotnik, B.N. Chetverushkin. Parabolicity of the QuasiGasdynamic System of Equations, Its Hyperbolic Second-Order
Modification, and the Stability of Small Perturbations for Them.
Computational Mathematics and Mathematical Physics, 2008, vol. 48,
no. 3, pp. 420–446.
—27—
[15] А.А. Сухомозгий, Ю.В. Шеретов. Единственность решения регуляризованных уравнений Сен-Венана в линейном приближении. Вестник Тверского государственного университета, Серия "Прикладная
математика". 2012, Вып. 1, № 24, с. 5–7.
[16] А.А. Сухомозгий, Ю.В. Шеретов. Тестирование нового алгоритма
расчета одномерных нестационарных течений жидкости со свободной границей. Вестник Тверского государственного университета.
Серия "Прикладная математика". 2012, Вып. 4, № 27. c. 47-–64.
[17] R. Akoh, S. Ii, F. Xiao. A multi-moment finite volume formulation for
shallow water equations on unstructured mesh. J. Comp. Phys., 2010,
vol. 229, pp. 4567–4590.
[18] M. Kawahara, T. Umetsu. Finite element method for moving boundary
problems in river flow. International Journal for Numerical Methods in
Fluids, 1986, vol. 6, no. 6, pp. 365–386.
[19] Q. Liang, A.G.L. Borthwick. Adaptive quadtree simulation of shallow
flows with wet-dry fronts over complex topography. Computers and
Fluids, 2009, vol. 38, pp. 221–234.
Download