Монотонизация разностных схем для уравнения переноса
Рассматривается задача получения численных неосциллирующих решений уравнения переноса с использованием явной инеявной адаптивных разностных схем. Адаптивная схема строится посредством добавления в монотонную разностнуюсхему первого порядка антидиффузионных слагаемых. Показано, что задача ограничения...
Gespeichert in:
Datum: | 2007 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | Russian |
Veröffentlicht: |
Інститут проблем математичних машин і систем НАН України
2007
|
Schlagworte: | |
Online Zugang: | http://dspace.nbuv.gov.ua/handle/123456789/803 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Zitieren: | Монотонизация разностных схем для уравнения переноса / Кивва С.Л., Кивва Т.С. // Математические машины и системы. –2007. – № 2. – С. 56 – 67. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-803 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-8032008-07-02T12:00:58Z Монотонизация разностных схем для уравнения переноса Кивва, С.Л. Кивва, Т.С. Обчислювальні системи Рассматривается задача получения численных неосциллирующих решений уравнения переноса с использованием явной инеявной адаптивных разностных схем. Адаптивная схема строится посредством добавления в монотонную разностнуюсхему первого порядка антидиффузионных слагаемых. Показано, что задача ограничения антидиффузионных потоков дляявной схемы сводится к задаче линейного программирования. Для неявной схемы задача ограничения антидиффузионныхпотоков сводится к задаче нелинейного программирования или последовательности задач линейного программирования.Предложен упрощенный алгоритм монотонизации. Приведены результаты численных расчетов. Ил.: 4. Библиогр.: 8 назв. Розглядається задача для отримання чисельних неосцильованих рішень рівняння переносу з використанням явної і неявноїрізницевих схем. Адаптивна схема будується за допомогою введення в монотонну різницеву схему першого порядкуантидифузійних членів. Показано, що задача обмеження антидифузійних потоків для явної схеми зводиться до розв”язаннязадачі лінійного програмування. Для неявної схеми задача обмеження антидифузійних потоків зводиться до задачінелінійного програмування або послідовності задач лінійного програмування. Запропоновано спрощений алгоритммонотонізації. Приведено результати чисельних розрахунків. Іл.: 4. Бібліогр.: 8 назв. Problem of obtaining numerical non-oscillatory solutions for the advection equation by using explicit and implicit adaptive differenceschemes is considered. The adaptive scheme is created by addition of anti-diffusion terms in the monotone difference scheme ofthe first order. It is shown that the anti-diffusion flux-limitation problem for explicit scheme is reduced to linear programming problem.For implicit scheme the anti-diffusion flux-limitation problem is reduced to non-linear programming problem or sequence of the linearprogramming problems. Simplified algorithm of monotonization is proposed. There are given results of numerical testing. Figs.: 4.Refs.: 8 titles. 2007 Article Монотонизация разностных схем для уравнения переноса / Кивва С.Л., Кивва Т.С. // Математические машины и системы. –2007. – № 2. – С. 56 – 67. 1028-9763 http://dspace.nbuv.gov.ua/handle/123456789/803 519.63:85 ru Інститут проблем математичних машин і систем НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
topic |
Обчислювальні системи Обчислювальні системи |
spellingShingle |
Обчислювальні системи Обчислювальні системи Кивва, С.Л. Кивва, Т.С. Монотонизация разностных схем для уравнения переноса |
description |
Рассматривается задача получения численных неосциллирующих решений уравнения переноса с использованием явной инеявной адаптивных разностных схем. Адаптивная схема строится посредством добавления в монотонную разностнуюсхему первого порядка антидиффузионных слагаемых. Показано, что задача ограничения антидиффузионных потоков дляявной схемы сводится к задаче линейного программирования. Для неявной схемы задача ограничения антидиффузионныхпотоков сводится к задаче нелинейного программирования или последовательности задач линейного программирования.Предложен упрощенный алгоритм монотонизации. Приведены результаты численных расчетов. Ил.: 4. Библиогр.: 8 назв. |
format |
Article |
author |
Кивва, С.Л. Кивва, Т.С. |
author_facet |
Кивва, С.Л. Кивва, Т.С. |
author_sort |
Кивва, С.Л. |
title |
Монотонизация разностных схем для уравнения переноса |
title_short |
Монотонизация разностных схем для уравнения переноса |
title_full |
Монотонизация разностных схем для уравнения переноса |
title_fullStr |
Монотонизация разностных схем для уравнения переноса |
title_full_unstemmed |
Монотонизация разностных схем для уравнения переноса |
title_sort |
монотонизация разностных схем для уравнения переноса |
publisher |
Інститут проблем математичних машин і систем НАН України |
publishDate |
2007 |
topic_facet |
Обчислювальні системи |
url |
http://dspace.nbuv.gov.ua/handle/123456789/803 |
citation_txt |
Монотонизация разностных схем для уравнения переноса / Кивва С.Л., Кивва Т.С. // Математические машины и системы. –2007. – № 2. – С. 56 – 67. |
work_keys_str_mv |
AT kivvasl monotonizaciâraznostnyhshemdlâuravneniâperenosa AT kivvats monotonizaciâraznostnyhshemdlâuravneniâperenosa |
first_indexed |
2025-07-02T04:26:27Z |
last_indexed |
2025-07-02T04:26:27Z |
_version_ |
1836507870635491328 |
fulltext |
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 56
УДК 519.63:85
С.Л. КИВВА, Т.С. КИВВА
МОНОТОНИЗАЦИЯ РАЗНОСТНЫХ СХЕМ ДЛЯ УРАВНЕНИЯ ПЕРЕНОСА
Abstract: Problem of obtaining numerical non-oscillatory solutions for the advection equation by using explicit and
implicit adaptive difference schemes is considered. The adaptive scheme is created by addition of anti-diffusion terms
in the monotone difference scheme of the first order. It is shown that the anti-diffusion flux-limitation problem for
explicit scheme is reduced to linear programming problem. For implicit scheme the anti-diffusion flux-limitation
problem is reduced to non-linear programming problem or sequence of the linear programming problems. Simplified
algorithm of monotonization is proposed. There are given results of numerical testing.
Key words: advection equation, monotonization of difference schemes, limitation of anti-diffusion fluxes.
Анотація: Розглядається задача для отримання чисельних неосцильованих рішень рівняння переносу з
використанням явної і неявної різницевих схем. Адаптивна схема будується за допомогою введення в
монотонну різницеву схему першого порядку антидифузійних членів. Показано, що задача обмеження
антидифузійних потоків для явної схеми зводиться до розв”язання задачі лінійного програмування. Для
неявної схеми задача обмеження антидифузійних потоків зводиться до задачі нелінійного програмування
або послідовності задач лінійного програмування. Запропоновано спрощений алгоритм монотонізації.
Приведено результати чисельних розрахунків.
Ключові слова: рівняння переносу, монотонізація різницевих схем, обмеження антидифузійних потоків.
Аннотация: Рассматривается задача получения численных неосциллирующих решений уравнения
переноса с использованием явной и неявной адаптивных разностных схем. Адаптивная схема строится
посредством добавления в монотонную разностную схему первого порядка антидиффузионных слагаемых.
Показано, что задача ограничения антидиффузионных потоков для явной схемы сводится к задаче
линейного программирования. Для неявной схемы задача ограничения антидиффузионных потоков
сводится к задаче нелинейного программирования или последовательности задач линейного
программирования. Предложен упрощенный алгоритм монотонизации. Приведены результаты численных
расчетов.
Ключевые слова: уравнение переноса, монотонизация разностных схем, ограничение антидифузионных
потоков.
1. Введение
При решении уравнения переноса часто требуются неотрицательность и монотонность численного
решения. Схемами, которые обеспечивают эти свойства численного решения, являются
монотонные схемы. Как показал С.К. Годунов [1], не существует линейных монотонных схем
второго и выше порядков. Схемы первого порядка обладают большой численной диффузией, что
приводит к неудовлетворительному качеству численного решения. Схемы высокого порядка в
областях больших градиентов решения порождают осцилляции, которые влекут потерю
монотонности решения и зачастую его неотрицательности. Поэтому после того, как стала ясна
принципиальная невозможность получения монотонных разрывных численных решений на основе
линейных схем повышенной точности, начались попытки построения нелинейных разностных схем.
Одним из первых плодотворных подходов получения таких схем был подход, основной идеей
которого является комбинирование в конструируемой адаптивной схеме двух схем с различными
свойствами. В качестве одной из базовых схем должна быть монотонная схема первого порядка, а
второй может быть схема высокого порядка. Идея комбинирования двух схем реализуется
посредством добавления в монотонную схему антидиффузионных слагаемых, имеющих смысл
аппроксимационных добавок к монотонным потокам первого порядка. Величины этих
антидиффузионных слагаемых выбираются таким образом, чтобы адаптивная схема на гладких
решениях сохраняла порядок точности схемы высокого порядка, а в областях больших градиентов
– монотонность численного решения. В настоящее время для определения величин
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 57
антидиффузионных потоков для явных схем используются различные формулы ограничения или
коррекции потоков [2]. К сожалению, до сих пор не существует эффективных алгоритмов
монотонизации неявных разностных схем. Среди представителей схем, построенных по данному
принципу, отметим схемы с коррекцией потоков (FCT) [3, 4].
В данной работе рассматриваются явные и неявные адаптивные разностные схемы для
численного решения уравнения переноса. Эти схемы строятся на базе монотонной разностной
схемы первого порядка и схемы с центрально-разностной аппроксимацией пространственной
производной первого порядка. Задача определения антидиффузионных потоков сводится к
решению оптимизационной задачи. Так, в случае явной разностной схемы – это задача линейного
программирования. Для неявной разностной схемы задача определения антидиффузионных
потоков сводится к решению задачи нелинейного программирования или решению
последовательности задач линейного программирования. Для данных оптимизационных задач
доказана их разрешимость. Предложен упрощенный алгоритм монотонизации явных и неявных
разностных схем. Приведены результаты численных расчетов.
2. Постановка задачи
Рассмотрим на отрезке [ ]ba, краевую задачу для уравнения переноса:
( ) 0=ρ
∂
∂+
∂
ρ∂
u
xt
, 0>t (1)
с начальным условием
( ) ( )xx нρ=ρ 0, . (2)
В дальнейшем, без ограничения общности, с целью упрощения выкладок, будем считать,
что вектор скорости не изменяется во времени, т.е. )(xuu = . Для однозначного решения задачи
(1), (2) на каждой границе ставится столько условий, сколько на ней имеется входящих в область
характеристик. Обозначим через 0ρ и 1+ρN значения функции ),( txρ соответственно на левом и
правом концах отрезка [ ]ba, .
Введем на [ ]ba, неравномерную сетку hΩ :
{ }bx ax 1N1i hxx x N1ii1iih <>−=+==Ω + ,;,,: .
Линейное пространство сеточных функций )( ixy , определенных на hΩ , обозначим через
hH . Будем использовать следующие обозначения для векторной нормы и согласованной с ней
матричной нормы:
∑
=
=
N
i
iyy
1
1
, ∑
=≤≤
=
N
i
ij
Nj
aA
1
11
max .
Аппроксимируем задачу (1) – (2) явной разностной схемой
0=+ Lyyt , (3)
нyy = , (4)
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 58
где ( )jii txyy ,ˆ = , ( )1, −= jii txyy , ( ) τ−= yyyt ˆ , { },...1,0,0, =>ττ==Ω jjt jt – временная
сетка. Оператор L определяется следующим образом:
{ 1 2 1 2 1 1 2 1 1 2
1
i i i i i i i i i
i
Ly u y u y u y u y+ − + −
+ + + − − −= + − − +
h
(5)
( ) ( )}1 2 1 2 1 1 2 1 2 10.5 0.5 i i i i i i i iu y y u y yα α+ + + − − −+ − − − , Ni ,1=
где ( )1iii hh50 ++= .h , i =2,…,N-1; axx50 211 −+= )(.h , ( )1NNN xx50b −+−= .h ,
( )uuu ±=± 5.0 , ( )2121 ++ = ii xuu , ( )121 5.0 ++ += iii xxx , 02121 == +Nαα .
( ) 1N
21N23 R −
− ∈= ααα ,..., – некоторый числовой вектор, определяющий порядок
аппроксимации разностной схемы (3) по пространственной переменной. Заметим, что при 0=α ,
разностная схема (3) является условно монотонной разностной схемой, обладающей большой
численной диффузией [5]. Последние два члена в правой части выражения (5) можно
рассматривать как антидиффузионные. Значения скорости ( )xu на концах отрезка [ ]ba, в точках
ax =0 и bxN =+1 обозначим, соответственно, как 21u и 21+Nu .
Неявная разностная схема для уравнения (1) имеет вид
0ˆ =+ yLyt . (6)
Решение явной разностной схемы (3) – (4) или неявной разностной схемы (6), (4) сводится к
решению системы линейных алгебраических уравнений
ˆAy φ= , (7)
где { }A aij j
i
= – трехдиагональная квадратная матрица порядка N . Представим матрицу A в
виде
( ) ( ) ( )A B Cσ α σ σ α, = − ,
где B и C – трехдиагональные квадратные матрицы порядка N с элементами
( ) ( )b u uii
i
i iσ
τ
σ= + −+
+
−
−h
1 2 1 2 , ( ) ( )c u uii i i i iα α α= +− − + +0 5 1 2 1 2 1 2 1 2. , i N= 1, ,
( )b uii im mm1 1 2σ σ= ± ; ( ) ( )c c uii i i i i− − − −= = −1 1 1 2 1 20 5α α α. .
Параметр σ равен нулю для явной разностной схемы и 1=σ – для неявной разностной схемы.
Вектор φ в правой части системы уравнений (7) вычисляется по формуле
( ) gyA +−= ασφ ,1 , (8)
где вектор g имеет вид ( )121021 ˆ,0,...,0,ˆ +
−
+
+ −= NN yuyug .
Заметим, что для любого z RN∈
α=α )()( zDzC ,
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 59
где D(z) – двухдиагональная матрица размера N N× −( )1 с элементами
( )iiiiiii zzudzd −−=−= +++ 1211 5.0)( , i N= −1 1, .
3. Явная схема
Рассмотрим явную разностную схему (7) при 0=σ . Нетрудно видеть, что матрица А в этом
случае является диагональной. Поэтому система уравнений (7) однозначно разрешима.
Остановимся более подробно на алгоритме FCT. Базовый алгоритм FCT для решения
уравнения 0=+ xt fy можно представить как шесть последовательных операций в каждой точке
i [3, 4]:
1. Расчет потока переноса L
if 21+ по некоторому методу низкого порядка, гарантирующему
монотонность результатов.
2. Расчет потока переноса L
if 21+ по некоторому методу высокого порядка.
3. Расчет обновленного решения низкого порядка, учитывающего перенос и диффузию
[ ]L
i
L
i
i
n
ii ffyy 2121
0
−+ −τ−=
h
.
4. Определение антидиффузионного потока, представляющего собой часть монотонного
потока переноса, на который надо наложить ограничение
L
i
H
i
ad
i fff 212121 +++ −= .
5. Наложение ограничения на антидиффузионные потоки { }ad
if 21+ таким образом, чтобы
величины 1+ny , рассчитываемые на шаге 6, были свободны от выбросов в сторону завышения
или занижения, которых не имеется у величин { }0
iy . В этом случае
ad
ii
c
i ff 212121 +++ δ= , 10 21 ≤δ≤ +i .
6. Использование скорректированных антидиффузионных потоков для получения новых
значений 1+n
iy по формуле
[ ]c
i
c
i
i
i
n
i ffyy 2121
01
−+
+ −τ−=
h
.
Здесь решающим шагом является шаг 5. Без шага 5, т.е. при ad
i
c
i ff 2121 ++ = , расчет { }1+n
iy
сводится к алгоритму высокого порядка без коррекции для обеспечения требуемой монотонности.
Таким образом, нетрудно видеть, что корректирующие антидиффузионные потоки можно
определить из решения следующей задачи линейного программирования.
Пусть требуется максимизировать функционал
( ) max
1
1
21 →α=αℑ ∑
−
=
+
N
i
i (9)
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 60
при ограничениях
( ) ( ) ( ) gyByDyB +−=α− 1ˆ0 , (10)
10 ≤α≤ , +− ≤≤ yyy ˆ , (11)
где
( )0
1
00
1 ˆ,ˆ,ˆmin +−
− = iiii yyyy , ( )0
1
00
1 ˆ,ˆ,ˆmax +−
+ = iiii yyyy (12)
и 0ŷ – решение разностной схемы (10) при 0=α .
Теорема 1. Пусть τ удовлетворяет неравенству
( ) 1
1
max 2121
1
<−τ −
−
+
+
≤≤
ii
iNi
uu
h
. (13)
Тогда задача (9) – (12) разрешима.
Доказательство. При выполнении условия (13) разностная схема (10) при 0=α является
монотонной. Для разрешимости задачи (9) – (12) достаточно показать ограниченность функционала
качества и непустоту множества допустимых значений [6]. Ограниченность (9) очевидна, а вектор
( )00 ˆ, yα удовлетворяет условиям (10) – (12), где 00 =α , что и требовалось доказать.
Наряду с ограничениями (12), будем рассматривать также ограничения
( )11 ,,min +−
− γ= iiiii yyyy , ( )11 ,,max +−
+ γ= iiiii yyyy , (14)
где ( )21211 −+ −τ−=γ ii
i
i uu
h
.
Теорема 2. Пусть τ удовлетворяет неравенству (13).
Тогда задача (9) – (11), (14) разрешима.
Доказательство. Аналогично доказательству теоремы 1 для разрешимости задачи (9) – (11), (14)
достаточно показать непустоту множества допустимых значений.
При выполнении условия (13) и 0=α разностная схема (10) является монотонной и
( ) ≥
τ
−
−τ−+
τ
≥ +
−
+−
−
+
+−
+
−
1
21
21211
210 1minˆ i
i
i
iii
i
i
i
i
i y
u
yuuy
u
y
hhh
( ) ( ) −
+−−+ =
−τ−≥ iiiiii
i
yyyyuu 112121 ,,min1
h
.
Таким же образом можно показать, что +≤ ii yy0ˆ .
Поэтому вектор ( )0ˆ,0 y удовлетворяет условиям (10) – (11), (14) и, следовательно, множество
допустимых значений непусто, что и требовалось доказать.
Заметим, что данный метод определения антидиффузионных потоков легко обобщается на
многомерный случай и схемы высоких порядков.
4. Неявная схема
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 61
Рассмотрим неявную разностную схему (7) при 1=σ .
Теорема 3. Пусть α ∈ −R N 1 и 0≥α . Тогда для того, чтобы линейная система (7) имела
единственное решение, достаточно τ выбрать так, чтобы выполнялось неравенство
( ) −
++−−
≤≤
<α+ατ h21212121
1
max iiii
Ni
uu , (15)
τ+τ−= +
+
−≤≤
−−
21
12
211 ,min,min NNi
Ni
uu hhhh .
Доказательство. Для однозначной разрешимости системы уравнений (7) достаточно показать
невырожденность матрицы ( )α,1A .
Нетрудно видеть, что матрица B является матрицей с положительной доминирующей
диагональю по столбцам и неположительными внедиагональными элементами. Поэтому матрица
B невырождена и, согласно [7],
−
− τ≤
h1
1B .
Матрица C есть симметричная матрица со слабым диагональным преобладанием, и
( )21212121
11
max ++−−
≤≤
α+α= iiii
Ni
uuC . (16)
Из (16) с учетом (15) получим, что
1
1
1 <− CB . (17)
Таким образом, матрицу A можно представить в виде произведения двух невырожденных
матриц [8]:
( )CBEBA 1−−=
и, следовательно, матрица ( )α,1A невырождена, что и требовалось доказать.
По аналогии с явной разностной схемой антидиффузионные потоки для неявной
разностной схемы будем определять из решения следующей задачи нелинейного
программирования.
Пусть требуется минимизировать функционал
( ) infˆ,
1
1
21 →α−=αℑ ∑
−
=
+
N
i
iy , ( ) Uy ∈α ˆ, , (18)
где
( ) ( ) ( ){ }0ˆ,,ˆ,:ˆ, 0
1 =α∈α×∈α= − yqUyRRyU NN , (19)
( ){ }+− ≤≤≤α≤α= yyyyU ˆ,10:ˆ,0 ,
( ) ( ) ( ) ( ) gyByCyByq −−α−=α 0ˆˆ1ˆ, , (20)
( )0
1
00
1 ˆ,ˆ,ˆmin +−
− = iiii yyyy , ( )0
1
00
1 ˆ,ˆ,ˆmax +−
+ = iiii yyyy
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 62
и 0ŷ – решение разностной схемы ( ) 0ˆ, =α yq при 0=α .
Вместо задачи нелинейного программирования (18) – (20) можно рассматривать решение
следующей последовательности задач линейного программирования:
( ) infˆ,
1
1
21 →α−=αℑ ∑
−
=
+
N
i
k
i
kk y , ( ) k
kk Uy ∈α ˆ, , ,...2,1=k , (21)
где
( ) ( ) ( ){ }0ˆ,,ˆ,:ˆ, =α∈αα= kk
ko
kkkk
k yqUyyU , (22)
( ) ( ) ( ) ( ) gyByDyByq kkkkk
k −−α−=α − 0ˆˆ1ˆ, 1 (23)
и 0ŷ – решение разностной схемы (23) при 00 =α и 0=k .
Так как вектор ( )00 ˆ, yα удовлетворяет условиям (22), (23) при любых ,...2,1=k , то
множество допустимых значений kU не пусто и задача (21) – (23) разрешима при всех ,...2,1=k .
Обозначим решение задачи (21) – (23) через ( )kk y∗∗α ˆ, , т.е.
( ) ( )kk
U
kk
k yy
k
ˆ,minˆ, αℑ=αℑ=ℑ ∗∗
∗ , ( ) k
kk Uy ∈α ∗∗ ˆ, . (24)
Теорема 4. Пусть τ удовлетворяет неравенству
( ) −
+−
−≤≤
β≤+τ h2121
12
max ii
Ni
uu , 10 <β≤ ,
где
τ+τ−= +
+
−≤≤
−−
21
12
211 ,min,min NNi
Ni
uu hhhh .
Тогда последовательность { }kk y∗∗α ˆ, решений задач (21) – (23) такова, что
( )y
U
k
k
ˆ,inflim αℑ=ℑ=ℑ ∗∗
∞→
и { } ∗
∗∗ →α Uy kk ˆ, .
Доказательство. Из уравнения (22) следует, что
( ) ( ) ( ) ( )( )gyBByCBy kkk ++α= −−− 01ˆ1ˆ 111 .
При выполнении условий теоремы аналогично (17) можно показать, что
( ) ( ) 11
1
1 <β≤α− CB
для всех 10 ≤α≤ . Поэтому последовательность { }kŷ является сходящейся при ∞→k .
По построению ( ) 0ˆ, Uy kk ∈α ∗∗ для любого k. В силу компактности 0U последовательность
{ }kk y∗∗α ˆ, имеет хотя бы одну предельную точку. Пусть ( )y~,~α – произвольная предельная точка
{ }kk y∗∗α ˆ, . Не умаляя общности, можем считать, что сама последовательность { } ( )yy kk ~,~ˆ, α→α ∗∗ . В
силу замкнутости 0U имеем, что ( ) 0
~,~ Uy ∈α . Далее, переходя к пределу в уравнении,
( ) ( ) ( ) gyByCyB kkk +=α− − 0ˆˆ1 1
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 63
при ∞→k , получим, что ( )y~,~α удовлетворяет уравнению ( ) 0~,~ =α yq и, следовательно,
( ) Uy ∈α ~,~ .
С другой стороны, любое решение уравнения ( ) 0ˆ, =α yq является и решением уравнения
( ) 0ˆ, =α kk
k yq для любых k. Поэтому kUU ⊆ для любого k. Отсюда, с учетом полу
непрерывности, снизу ( )ŷ,αℑ на 0U получим
( ) ( ) ∗∗
∞→
∗∗
∞→
∗ ℑ=ℑ=αℑ≤αℑ≤ℑ k
k
kk
k
yy limˆ,lim~,~
или ( ) ∗∈α Uy~,~ .
Тем самым показано, что любая предельная точка последовательности { }kk y∗∗α ˆ,
принадлежит ∗U . Отсюда следует, что { } ∗
∗∗ →α Uy kk ˆ, , что и требовалось доказать.
Пусть u и v – сеточные функции из Hh. Дополним функции u и v их граничными
значениями.
Определение. Функцию v будем называть монотонно подобной функции u , если ее компоненты
удовлетворяют условиям для Ni ,...,1,0= :
a) если 1+= ii uu , то 1+= ii vv ;
б) ( ) 0)( 11 ≥−− ++ iiii vvuu , в противном случае.
Перепишем систему уравнений (7) при 1=σ в виде
( ) fyCyB =∆α−∆ ˆ
~
ˆ
~
, (25)
где ( )yyyy N ˆ,...,ˆ,ˆˆ 212321 +∆∆∆=∆ – )1( +N -мерный вектор, iii yyy ˆˆˆ 121 −=∆ ++ . Матрицы B
~
и
C
~
являются трехдиагональными матрицами порядка (N+1), элементы которых определяются по
формулам
+
−
−
−− η+η−= 212111
~
iiiiii uub , 1,1 += Ni ,
−
++ η= 211
~
iiii ub , +
−−− η−= 2311
~
iiii ub ,
( ) 212115.0~
−+− αη+η= iiiiii uc , 1,1 += Ni ,
232311 5.0~
−−−− αη−= iiiii uc , 21211 5.0~
+++ αη−= iiiii uc ,
1
2121
−
−+
−+
τ
=η ii
i
i uu
h
, Ni ,1= , 010 =η=η +N ,
( )111
1
−−−
− η−ητ= iiiiiii yyf hh , Ni ,...,3,2= ,
( )0111
1
1 ŷyf −ητ= −
h , ( )NNNNN yyf η−τ= +
−
+ h1
1
1 .
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 64
Пусть 0ŷ – решение монотонной разностной схемы (7) при 1=σ и 0=α . Пусть S –
диагональная матрица порядка )1( +N , у которой ( )0
21 ŷsigns iii −∆= . Тогда поиск решения,
монотонно подобного 0ŷ , сводится к решению следующей задачи нелинейного программирования.
Пусть требуется максимизировать функционал
sup
1
1
21 →α∑
−
=
+
N
i
i (26)
при условиях
( ) fySCySB =∆α−∆
~
ˆ
~~
ˆ
~
, (27)
10 ≤α≤ , 0
~
ˆ ≥∆y , (28)
ε≤∆ − yi
~
ˆ21 , если ε≤∆ −
0
21 ŷi , (29)
где ySy ˆ
~
ˆ = .
Аналогично задаче (18) – (20) решение задачи (26) – (29) можно свести к решению
последовательности задач линейного программирования.
Если в задаче (26) – (29) известна оценка полной вариации функции ŷ∆ , то тогда условия
(29) можно заменить на условие
( ) MyyTV
N
i
i ≤∆= ∑
+
=
−
1
1
21
~
ˆˆ . (30)
5. Упрощенный алгоритм монотонизации
Обозначим через I i i( , , )0 1 ε множество последовательных индексов в решении
( )y y y y RN
N= ∈+
+
0 1 1
2, ,..., разностной задачи (7), удовлетворяющих условиям
( ) { ,0;,:,, 2121212110 <∆∆>∆∆= −++−++ yyyyiiiI piipii εε (31)
}01Nii1iiii1constusignp 10110021i21i ≥ε−≤≤≤==α== +++ ;;,...,,,,)( .
Тогда алгоритм монотонизации для разностной задачи (7) на каждом временном шаге
можно сформулировать следующим образом.
Шаг 0. Положить все αi +1 2 для i N= −1 1, равными 1.
Шаг 1. Для заданного α найти решение $y разностной задачи (7).
Шаг 2. Для полученного решения $y определить все множества ( )I i ik
k k
0 1, ,ε , k K= 1, .
Шаг 3а. Если для данного $y множеств ( )I i ik
k k
0 1, ,ε не существует, то алгоритм монотонизации на
этом заканчивается.
Шаг 3б. Для каждого k в множестве ( )I i ik
k k
0 1, ,ε найдем такой индекс ik
∗ , что
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 65
∆ ∆ ∆ ∆
i i
i i i
i i
k k k k
y y y y∗ ∗− + ≤ ≤
− +=
1 2 1 2 1 2 1 2
0 1
$ $ max $ $ . Далее, для каждого ik
∗ положить α
ik
∗ +1 2
равным
нулю и перейти на Шаг 1.
Заметим, что для явной схемы изменение значения αi +1 2 приводит к изменению значений
решения $y в соседних узлах сетки, т.е. $yi и $yi +1 , и не требует пересчета $y для остальных узлов
сетки.
Также отметим, что для другого шаблона определение множества I i i( , , )0 1 ε может быть
иным. Например, множество I i i( , , )0 1 ε можно задать как
( ) { ,0;,:,, 2121212110 <∆∆>∆∆= +−+− yyyyiiiI iiii εε
если ∆ ∆i iy y+ −≥1 2 1 2 , то αi + =1 2 1 ;
если ∆ ∆i iy y+ −<1 2 1 2 , то αi− =1 2 1 ; i i i i= +0 0 11, ,..., ; 1 0 1≤ ≤i i N, ; }ε ≥ 0 , которое для
данного трехточечного шаблона работает чуть хуже, чем (31).
6. Результаты численных расчетов
Рассматривалось решение тестовой задачи о распространении квадратной волны с постоянной
скоростью [3]. В задаче выбиралась равномерная сетка по пространству, состоящая из 260 ячеек,
расположенных от 0=x до 260 см. В начальный момент времени волна занимала пространство в
10 ячеек с 10 по 19 ячейку. Скорость течения составляла 1 см/сек. Максимальное значение
плотности ρ равно 100, а минимальное значение – 10.
На рис. 1–4 показаны результаты расчетов распространения волны, полученные с
использованием различных алгоритмов.
160 180 200 220 240
0
20
40
60
80
100
Рис.1. Решения задачи о распространении
квадратной волны, полученные после 1800 шагов по
времени ( 1,0=τ сек.) по явным разностным схемам:
штрих-пунктирная линия – точное решение;
штриховая - монотонная схема; сплошная – решение
задачи (9) – (11) с ограничениями (14); пунктирная –
метод расчета переноса с коррекцией потоков (FCT)
второго порядка
180 190 200 210
0
20
40
60
80
100
Рис.2. Сравнение решений задачи о распространении
квадратной волны, полученных после 1800 шагов по
времени по методу FCT (пунктирная линия) и
упрощенному алгоритму монотонизации (сплошная
линия). Точное решение обозначено штрих-
пунктирной линией
На рис. 1 приведены решения уравнения (1) – (2), рассчитанные по явным схемам после
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 66
1800 шагов по времени. Шаг по времени равнялся 0,1 сек. Расчеты выполнялись с использованием
монотонной разностной схемы (10) при 0=α , схемы с коррекцией потоков (FCT) второго порядка
[3], а также явных схем (10), у которых вектор α определялся из решения задач (9) – (12) и (9) –
(11), (14), а также по упрощенному алгоритму монотонизации. Заметим, что решения, полученные
методом FCT и из (9) – (12), практически совпали. Сравнение решений по методу FCT и
упрощенному алгоритму монотонизации дано на рис. 2.
Численные решения, полученные по неявной разностной схеме (20) с различными
значениями вектора α показаны на рис. 3–4. На рис. 3–4 приведены решения после 400 шагов по
времени с временным шагом, равным 0,2 сек. Штриховой линией обозначено решение монотонной
схемы при 0=α . Задачи (18) – (20) и (26) – (28), (30) решались как задачи линейного
программирования в первом приближении, т.е. 01 yy k =− и 1−ky не обновлялось. Пунктирная
линия – это решение задачи (18) – (20), а сплошная – решение задачи (26) – (28), (30). Штрих-
пунктирной линией показано точное решение.
Сравнение решений задачи (26) – (28), (30) (пунктирная линия) с решением упрощенного
алгоритма монотонизации (сплошная линия) дано на рис. 4.
7. Заключение
В работе предложен новый метод определения антидиффузионных потоков, основанный на
решении соответствующих задач линейного программирования, в явных и неявных разностных
схемах с коррекцией потоков для уравнения переноса. Данный метод легко обобщается на
многомерный случай и любые схемы высокого порядка. Нетрудно видеть, что данная методика
также может легко использоваться для монотонизации разностных схем для численного решения
уравнений конвективной диффузии.
60 80 100 120
0
20
40
60
80
100
Рис.3. Решения задачи о распространении
квадратной волны, полученные после 400 шагов по
времени ( 2,0=τ сек.) по неявной разностной схеме
(20) с различными значениями α : точное решение
(штрих-пунктирная линия); монотонная схема
(штриховая линия); решение задачи (18) – (20)
(пунктирная линия); решение задачи (26) – (28), (30)
(сплошная линия)
80 90 100 110 120
0
20
40
60
80
Рис.4. Решения задачи о распространении
квадратной волны, полученные после 400 шагов по
времени ( 2,0=τ сек.) по неявной разностной схеме
(20): пунктирная линия – решение задачи (26) – (28)
с ограничением (30); сплошная линия – упрощенный
алгоритм монотонизации
СПИСОК ЛИТЕРАТУРЫ
1. Годунов С.К. Разностный метод численного расчета разрывных решений уравнений гидродинамики //
ISSN 1028-9763. Математичні машини і системи, 2007, № 2 67
Математический сборник. – 1959. – № 47. – С. 271–306.
2. Пинчуков В.И., Шу Ч.-В. Численные методы высоких порядков для задач аэрогидродинамики. –
Новосибирск: СО РАН, 2000. – 232 с.
3. Оран Э., Борис Дж. Численное моделирование реагирующих потоков. – М.: Мир, 1990. – 661 с.
4. Zalesak S.T. Fully Multidimensional Flux-Corrected Transport Algorithms for Fluids // J. Comp. Phys. – 1979. –
Т. 31, № 3. – С. 335–362.
5. Самарский А.А. Теория разностных схем. – М.: Наука, 1989. – 614 с.
6. Васильев Ф.П. Численные методы решения экстремальных задач. – М.: Наука, 1980. – 518 с.
7. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций. – М.: Наука, 1980. – 350 с.
8. Ортега Дж., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими
неизвестными. – М.: Мир, 1975. – 558 с.
|