Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Математическое моделирование кинетики сложных химических реакций. Ч. 1

.pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
1.44 Mб
Скачать

где ρi – заданные весовые коэффициенты. В некоторых случа-

ях применяются и другие нормы, например энергетические.

Определение. Будем говорить, что семейство сеточных функций {uh} сходится к точному решению y(x) исходной задачи, если

Lim

 

 

 

uh [y]

h

 

 

 

= 0,

(3.13)

 

 

 

 

x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где через [y]h обозначены значения функции y(x) на сетке ωh.

Если, кроме того, существует такое h0 ,

что при h h0

 

 

 

uh [y]

h

 

 

 

Chk ,

(3.14)

 

 

 

 

 

 

 

 

 

 

 

 

 

где C и k некоторые постоянные, не зависящие от h, то будем говорить, что имеет место сходимость порядка k в соответствующей норме.

3.2.2. Разностная схема Эйлера

Рассмотрим простейшую дифференциальную задачу (3.7) или (3.9). Заменив выражение для производной в точке xn приближенным отношением

yn+1 yn

=

yn+1 yn

(x

x = h),

 

 

xn+1 xn

 

h

n+1

n

 

 

 

поставим в соответствие (3.9) следующую разностную задачу:

u

 

u

n f (xn,u

 

 

0

 

 

 

 

n+1

 

 

)

= ϕh.

(3.15)

LhUh =

h

 

n

 

=

 

 

 

 

u0

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

В данном случае значения сеточной функции вычисляются по рекуррентной формуле очень просто. Имеем последовательно

111

u0 = y0 ,

u1 = u0 + hf (x0 ,u0 ),

uk = uk1 + hf (xn1,un1 ),

Разностные схемы такого типа называются явными схемами.

Разностная схема (3.15) называется разностной схемой Эйлера с постоянным шагом для задачи (3.9).

Из соответствующих теорем [34] следует, что для непрерывной в области D функции f (x, y), удовлетворяющей усло-

вию Липшица по переменной y, в данном простейшем случае выполняется условие (3.13) в норме (3.11), что позволяет утверждать сходимость сеточных функций, построенных по схеме Эйлера, к решению исходной задачи (3.9). При этом можно также доказать [34], что порядок сходимости при h 0 последовательности сеточных функций, построенных по разностной схеме Эйлера, составляет k = 1 (сходимость первого порядка).

Сеточная функция uh и решение дифференциального уравнения y удовлетворяют уравнениям разной природы. По-

этому в общем случае не всегда удается повторить выкладки, приводящие для простейшей схемы Эйлера к оценке порядка ее сходимости. В частности, для сеточной функции uh , яв-

ляющейся решением достаточно сложной разностной схемы, трудно предложить такой алгоритм интерполяции, чтобы полученная кривая являлась интегральной кривой дифференциального уравнения, в определенном смысле близкого к исходному, и можно было бы воспользоваться методом дифференциальных неравенств для оценки разности между решением исходного и полученного дифференциальных уравнений. Следует также отметить, что в более сложных случаях разностных схем необходимо убедиться в существовании решения соот-

112

ветствующей разностной задачи, прежде чем выяснять вопрос её сходимости. В общем случае для оценки сходимости приходится использовать другие пути, вводя понятия аппроксимации и устойчивости разностной схемы [34].

3.2.3. Порядок аппроксимации разностной схемы

Для рассмотрения понятия порядка аппроксимации разностной схемы введем норму ϕh – правой части разностной схемы (3.10). Как отмечалось выше, ϕh представляет собой правую часть уравнения – сеточную функцию fh в совокупности с дополнительными условиями для искомой сеточной функции uh.

Пронумеруем их в определенном порядке. Соответствую-

щие правые части пусть будут g1, , gq .

 

 

 

 

 

 

Обозначим

 

 

 

uh

 

 

 

0 = max

 

gi

 

и введем норму

 

 

 

ϕh

 

 

 

1 , полагая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕh

 

 

 

1 = max{

 

 

 

fh

 

 

 

,

 

 

 

uh

 

 

 

0} .

(3.16)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть разностная схема (3.10) однозначно разрешима при

всех h h0. Если значения [y]

h

решения y(x) исходной диффе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ренциальной задачи на сетке

ωh точно удовлетворяют разно-

стной схеме (3.10), то, найдя решение разностной схемы uh , получим значение точного решения в узлах сетки [y]h = uh.

Такое положение встречается крайне редко. Как правило, при подстановке значений [y]h в разностную схему (3.10)

тождества не получается, а (3.10) удовлетворяется с некоторой невязкой:

Lh [y]

h

= ϕh +δϕh.

(3.17)

 

 

 

113

Величина невязки δϕh разностной схемы на решении исходной

задачи и является характеристикой аппроксимации разностной схемы исходной задачи.

Функция дискретного аргумента, [y]h , очевидно, является

решением разностной схемы (3.10) с видоизмененной, или, как говорят, возмущенной правой частью ϕh +δϕh.

Теперь перейдем к определению понятия порядка аппроксимации разностной схемы на решении дифференциальной задачи.

Определение. Будем говорить, что разностная схема имеет k-й порядок аппроксимации на решении исходной задачи, если существует такое h0 , что при h h0

Lh [y]

h

−ϕh

 

 

 

<Chk ,

(3.18)

 

 

 

 

 

 

 

1

 

 

 

 

 

 

где C и k некоторые постоянные, не зависящие от h.

Определим порядок аппроксимации схемы Эйлера (3.15), предполагая, что функция f(x, y) в уравнении (3.7) имеет первые непрерывные частные производные по обоим аргументам в прямоугольнике D. В этом случае точное решение y(x) исходной задачи, очевидно, имеет вторую непрерывную производную. Это позволяет записать разложение

y(xi + h) = y(xi ) +hy(xi ) + h2

y′′(xi h), 0 ≤ θ ≤1. (3.19)

2

 

В силу (3.19) при подстановке точного решения y(x) задачи (3.7) в левую часть уравнения (3.15) получим

y(xi ) + h2 y′′(xi +0h) f (xi , y(xi )) = h2 y′′(xi h), (3.20)

(первое и третье слагаемые в левой части (3.20) взаимно уничтожаются, поскольку y(x) является точным решением уравнения (3.7)). Тем самым невязка в уравнении имеет первый поря-

114

док. Решение разностной задачи (3.15) удовлетворяет тому же начальному условию, что и решение задачи (3.9), откуда следует, что схема Эйлера аппроксимирует задачу (3.9) с первым порядком.

Первый порядок аппроксимации схемы Эйлера связан с тем, что в этом методе первая производная y(xi ) аппроксими-

руется разностным отношением ( yi+1 yi )h. Выбирая другие

приближенные формулы для первой производной, можно повысить порядок аппроксимации. Например, заменив первую производную симметричным разностным отношением в соседних точках

y(xi ) ( yi+1 yi1 )(2h),

можно доказать, проводя рассуждения, аналогичные предыдущим, что соответствующее разностное уравнение в этом случае аппроксимирует исходное уравнение (3.7) со вторым порядком.

Естественно предположить, что для того чтобы решение uh разностной схемы было близко к решению исходной задачи, невязка δϕh должна быть достаточно малой. Возникает вопрос, является ли малость невязки δϕh достаточной для того, чтобы обеспечить близость uh к решению исходной задачи,

т.е. обеспечивается ли сходимость разностной схемы, если имеет место аппроксимация? Оказывается, одной аппроксимации, вообще говоря, недостаточно чтобы разностная схема давала приближенное решение дифференциальной задачи. Помимо аппроксимации разностная схема должна удовлетворять некоторым дополнительным свойствам. Таким необходимым свойством является устойчивость разностной схемы.

115

3.2.4. Устойчивость разностной схемы

Рассмотрим разностную схему (3.10) и соответствующую возмущенную задачу

Lh

 

h = ϕh +δϕh ,

(3.21)

u

где δϕh называется возмущением входных данных. Рассмот-

рим далее случай, когда возмущенная задача (3.21) однозначно разрешима при достаточно малом возмущении, т.е. существуют такие δ0 и h0 , что при δϕh 1 < δ0 и h < h0 задача (3.21)

имеет решение,

и притом единственное. Под погрешностью

решения (3.10)

по-прежнему будем

 

понимать

выражение

δuh =

 

h uh. Величина

 

δϕh , как и

 

ϕh , оценивается в норме

u

следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

δϕh

 

 

 

1 = max{

 

 

 

δfh

 

 

 

,

 

 

 

δuh

 

 

 

0},

(3.22)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где δfh – норма возмущения правой части уравнения, а δuh 0 – норма возмущения дополнительных условий.

Определение. Схема (3.10) называется устойчивой по начальным условиям и правой части уравнения (или просто устойчивой), если существует такая постоянная h0 , что при

h < h0 для нормы погрешности решения выполняется неравенство

 

δuh

 

 

 

< C

 

 

 

δϕh

 

 

 

1 ,

(3.23)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где постоянная C не зависит от h.

Данное определение означает непрерывную зависимость решения разностной схемы (3.10) от входных данных задачи – начальных условий и правой части уравнения: малое изменение входных данных приводит к малому изменению решения.

116

Следует отметить, что в случае линейного оператора Lh

введенное определение устойчивости разностной схемы (3.10) эквивалентно требованию, чтобы схема (3.21) была однозначно разрешима при достаточно малом возмущении δϕh и при

h < h0 выполнялось условие

 

uh

 

 

 

C

 

 

 

ϕh

 

 

 

1 ,

(3.24)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где C – некоторая не зависящая от h постоянная [32].

Можно доказать устойчивость схемы Эйлера (3.15) в случае общей задачи (3.7) при условии, что функция f(x, y) непрерывна в области D и удовлетворяет условию Липшица по переменной y.

3.2.5. Теорема о сходимости

Введенные выше понятия порядка аппроксимации и устойчивости разностной схемы позволяют доказать следующую теорему, играющую фундаментальную роль при исследовании сходимости разностных схем [34].

Теорема 3.1. Если разностная схема (3.10) устойчива и аппроксимирует задачу (3.8) с порядком k, то решения uh при h 0 сходятся к решению y(x) дифференциальной задачи, причем порядок сходимости также равен k, т.е. имеет место оценка

 

uh [y]

h

 

 

 

< Chk ,

(3.25)

 

 

 

где постоянная C не зависит от h.

Доказательство. Обозначим разность значений сеточных функций uh и [y]h через zh:

zh = uh [y] .

(3.26)

h

 

117

В силу определения порядка аппроксимации

 

 

 

Lh [y] = ϕh +δϕh ,

 

 

 

 

 

 

 

 

(3.27)

 

 

 

h

 

 

 

 

 

 

 

 

 

где для невязки

δϕ

 

имеет место оценка

 

 

 

δϕ

 

 

 

 

 

<C hk .

Так как

 

 

 

 

 

 

 

 

[y]h является

 

h

 

 

 

 

 

h

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

решением возмущенной

 

разностной

схемы

(3.27), то в силу устойчивости разностной схемы (3.10) и оценки (3.23), входящей в определение устойчивости, получим

 

 

 

z

 

 

 

 

< C

 

 

 

δϕ

 

 

 

 

 

CC hk .

(3.28)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

h

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сохранив для произведения постоянных CC1

обозначение

С, получим соотношение (3.25). Теорема доказана.

Выше было показано, что схема Эйлера устойчива и аппроксимирует задачу (3.7) с первым порядком. Из доказанной теоремы следует, что семейство решений uh , полученных по схеме Эйлера при h 0, сходится к точному решению задачи (3.7) также с первым порядком.

3.2.6. Метод Рунге–Кутта

Как уже было отмечено, схема Эйлера имеет лишь первый порядок сходимости, и для получения высокой точности по этой схеме приходится вести вычисления с очень мелким шагом, что приводит к значительному росту времени счета. Поэтому естественно искать схемы, обладающие более высокими порядками сходимости. Одним из классов таких схем являются схемы Рунге – Кутта. В основе этого метода лежат следующие

соображения. Рассмотрим тождество y(x) = f (x, y (x)). Согласно формуле Лагранжа о конечных приращениях на отрезке [xi , xi+1 ] существует такая точка x*, что

y(xi+1 ) y(xi ) = (xi+1 xi ) y(x* ) = hf (x*, y (x* )). (3.29)

118

Однако значение x* неизвестно. В схеме Эйлера положено x* = xi , что и дает всего лишь первый порядок точности.

Основная идея метода Рунге – Кутта заключается во введении в разностную схему ряда дополнительных параметров, уточ-

няющих приближенное определение значения x*.

Далее рассмотрим начальную задачу (3.7) (или (3.9)):

d

 

 

 

 

 

 

 

y f (x, y)

 

0

(3.30)

 

Ly = dx

 

 

=

.

 

y (x0 )

 

y0

 

 

 

 

 

 

Условия гладкости функции

f (x, y)

будут сформулиро-

ваны ниже.

Сопоставим с задачей (3.7) следующую разностную схему:

u

 

u

 

0

 

 

 

 

i+1

i ( p1K1

+…+ pl Kl )

,

(3.31)

Lhuh =

h

 

=

 

 

 

u0

 

y0

 

 

 

 

 

 

 

 

 

 

где

 

 

K1 = f (xi ,ui ),

 

K2

= f (xi 1h, ui 1hK1 ),

(3.32)

 

 

Kl = f (xi l1h, ui l1hKl1 ),

а p1,, pl , α1,,αl1 – параметры, выбором которых можно обеспечить требуемый порядок аппроксимации схемы (3.31) на решении задачи (3.30).

Вчастном случае при l = 1, p = 1 схема (3.31) переходит

всхему Эйлера (3.15), имеющую первый порядок аппроксимации. Покажем, что при l = 2 можно так выбрать параметры

p1, p2 и α1, что схема (3.31) будет иметь второй порядок ап-

119

проксимации. Пусть функция f (x, y) имеет в D непрерывные

частные производные до второго порядка по обоим аргументам, что достаточно для существования непрерывной третьей производной от решения. Тогда решение задачи (3.30) может быть представлено по формуле Тейлора

 

y(xi+1 ) = y(xi ) +hy(xi ) + h2 y′′(xi

) + h3 y′′′(x* ).

(3.33)

 

 

 

 

 

 

2

 

6

 

 

Подставляя это выражение в схему (3.31), получим

 

 

y (xi+1 ) y (xi )

( p1K1 + p2K2 ) = y(xi ) + h y′′(xi ) +O(h2 )

 

 

 

 

 

h

 

 

 

 

 

2

 

(3.34)

 

p1 f (xi , y(xi ))p2 f (xi 1h, y(xi ) 1hf (xi , y(xi ))).

 

Воспользовавшись разложением

 

 

 

 

f (xi 1h, y (xi ) 1hf (xi , y(xi ))) = f (xi , y (xi ))+

 

 

1h f (xi , y(xi ))1hf (xi , y(xi

))

f (xi , y (xi ))+O(h2 )

(3.35)

 

x

 

 

 

 

y

 

 

 

и очевидным соотношением

 

 

 

 

 

 

y′′(xi

) = f (xi , y (xi ))+

f

(xi ,

y(xi )) y(xi ) =

 

 

 

 

 

x

y

 

 

(3.36)

 

= f

(xi , y (xi ))+ f (xi ,

y(xi ))

f

(xi , y(xi )),

 

 

 

x

 

 

 

 

 

y

 

 

перепишем (3.34) в виде

 

 

 

 

 

 

 

 

 

y(xi+1 ) y(xi )

( p1K1 + p2K2 ) =

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

= y(xi ) ( p1 + p2 ) f (xi , y(xi ))+

(3.37)

+ hy′′(xi )(12 −α1 p2 ) +O(h2 ).

120

Соседние файлы в папке книги