Численные методы. Ионкин (2012) (неоффициальные) (косяки есть) (1160437), страница 11
Текст из файла (страница 11)
Записаннаяразностная схема использует два слоя : tn+1 и tn . В слое tn+1 берется три узла : (i−1),(i), (i + 1), а в слое tn только (i)-ый узел. Данная разностная схема также являетсячетырехточечной:tn+1i−1iii+1tnУравнение (4) запишем в виде:n+1n+1−γyi+1+ (1 + 2γ)yin+1 − γyi−1= Fi (y n ), i = 1, N − 1n+1n+1−γyi+1+ (1 + 2γ)yin+1 − γyi−1= Fi (y n )Fi (y n ) = yin + τ fin+1Эта система решается методом прогонки. Выпишем трехдиагональную матрицу.1 + 2γ−γ0 ...00 −γ1 + 2γ −γ . . .00 ........................................A= 000 . .
. 1 + 2γ−γ 000 ...−γ1 + 2γМатрица А с диагональным преобладанием, следовательно решение разностнойзадачи существует и единственно и оно находится методов прогонки. Для того, чтобыпоказать сходимость, нужно знать, в какой норме доказывают сходимость. Введемсеточную функцию , которая называется погрешностью решения:zin = yin − u(xi , tn ) = yin − uni .Запишем задачу для погрешности (уравнение для нахождения погрешности будет иметь такой же вид, что и (4), за исключением того, что вместо аппроксимацииправой части будет погрешность аппроксимации на решение, а краевые и начальныеусловия будут нулевыми):n+1z n+1 − 2zin+1 + zi+1zin+1 − zin= i−1+ ψin ,τh2(7)79n+1z0n+1 = zN= 0,(8)zi0 = 0.(9)Получим априорную оценку решения, используя, фактически, принцип максимума.Этот подход позволяет получать оценку в сильной норме — в норме k · kc .Для начала выпишем ψin :ψin = −un+1 − 2un+1+ un+1un+1− uniii+1i+ i−1+ fin+1τh2(10)По определению это есть погрешность аппроксимации разностной схемы (4)-(6)на решение исходной задачи (1) - (3).
Теперь нужно получить оценку нормы z черезпогрешность аппроксимации ψ, из которой будет следовать сходимость. Найдем на(n + 1) слое узел xi0 , где достигается максимум:max |zin+1 | = |zin+1| = kz n+1 kc006i6NВ этом узле запишем уравнение (7) в виде:ττ n+1n+1+z+ zin0 + τ ψin0 .1 + 2 zi0 = 2 zin+1−1i+100hhτОбозначая 2 = γ, получаем очевидное неравенство:h(1 + 2γ)|zin+1| 6 γ(|zin+1| + |zin+1|) + |zin0 | + τ |ψin0 |00 −10 +1Если справа вместо модуля поставить норму, то правая часть только усилится:(1 + 2γ) |zin+1| 6 γ kz n+1 kc + kz n+1 kc + kz n kc + τ kψ n kc0Так как, по предположению, в узле xi0 на (n + 1) слое достигается максимум, неравенство принимает вид:(1 + 2γ)kz n+1 kc 6 2γkz n+1 kc + kz n kc + τ kψ n kcОтсюда следует:kz n+1 kc 6 kz n kc + τ kψ n kcЗаметим, что мы получили абсолютно ту же самую оценку, что и была у насдля явной разностной схемы.
Но там было предположение, что γ 6 0.5, а здесь онаполучена безо всяких ограничений.Полученное неравенство можно рассматривать, как рекуррентную формулу:kz n+1 kc 6 kz 0 kc +nXτ kψ k kc ,k=0Учитывая, что kz 0 kc = 0, так как начальная погрешность нулевая, получим:kzn+1kc 6nXk=0τ kψ k kc80Известно, чтоkψ n kc 6 M (τ + h2 ),где M не зависит от τ и h.Тогда окончательно получим:kz n kc 6 M1 (τ + h2 ),где M1 = T M не зависит от τ и h.Следовательноkz n+1 kc −→ 0, при τ, h → 0,что означает сходимость разностной схемы к решению исходной задачи с первымпорядком точности по τ и вторым по h.
Попутно заметим, что если в разностнойзадаче (4) - (6) взять нулевые краевые условияn+1y0n+1 = yN= 0,то получим оценку аналогично той, которую получили вышеkyn+1kc 6 ku0 kc + τnXkf k kck=0Эта оценка означает устойчивость решения по начальному условию и по правой частиуравнения.§3 Симметричная разностная схема (схема Кранка–Никольсона) для первой краевой задачи уравнениятеплопроводностиПоставим задачу:∂ 2u∂u=+ f (x, t),∂t∂x2y(0, t) = µ1 (t),0 < x < 1,0 < t 6 T,(1)y(1, t) = µ2 (t),0 6 t 6 T,(2)y(x, 0) = u0 (x),0 6 x 6 1.Введем обозначение:nnyi+1− 2yin + yi−1h2и рассмотрим симметричную разностную схему, имеющую вид:nyxx,i=yin+1 − yin1 n+1n= (yxx,i+ yxx,i) + f (xi , tn+ 1 )2τ2(3)81здесь1(xi , tn+ 1 ) = (xi , tn + τ ) ∈ wτn22Добавим краевые и начальное условия:y0n+1 = µ1 (tn+1 ),n+1yN= µ2 (tn+1 ),yi0 = u0 (xi ),(4)tn+1 ∈ wτ(5)xi ∈ wn(6)Итак, мы поставили в соответствие задаче (1)-(3) разностную схему (4)-(6).Покажем, что эта задача будет абсолютно сходящейся, но в среднеквадратичнойнорме.Введем погрешность решения:zin = yin − uniВыразим yin из этой погрешности и подставим в уравнение (4):zin+1 − zin1 n+1n= (zxx,i+ zxx,i) + ψin ,τ2un+1− uni1 n+1+ unxx,i ) + f (xi , tn+ 1 )=− i+ (uxx,i2τ2Задача.
Показать, чтоψin = O(τ 2 + h2 )ψin(7)nРешение: Разложим un+1i±1 и ui в ряд Тейлора в окрестности точки (xi , tn+ 1 ):21τ+ utt,i+ O(τ 3 )2 221 n+ 12 τ 2n+ 12 τn+ 21nui = ui− ut,i+ utt,i+ O(τ 3 )2 22Подставим эти разложения в формулу для ψin :n+ 12un+1= uii+ ut,inψin = 0.5(un+1xx,i + uxx,i ) −n+ 21= −ut,in+ 12n+ 21 τ 2un+1− unii+ f (xi , tn + 0.5τ ) =τn+ 12n+ O(τ 2 ) + 0.5(un+1xx,i + uxx,i ) + fiТеперь в представлении второй разностной производной разложим все вхожденияфункции в ряд Тейлора. Приводя подобные слагаемые, получим:nuxx,i= unxx,i + unxxxx,ih2+ O(h4 )12Применим это разложение для un+1xx,i , а затем проведем еще одно разложение в рядТейлора в точке (xi , tn+ 1 ):2n+1n+1uxx,i= uxx,i+ un+1xxxx,ih2+ O(h4 ) =1282τh2h2 τn+1+ un+1+u+ O(τ 2 + h4 )xxxx,ixxxxt,i21212 2Тоже самое проделаем для unxx,i :n+ 1n+ 1= uxx,i2 + uxxt,i2n+1n+1un+1xx,i = uxx,i + uxxxx,ih2+ O(h4 ) =12τh2h2 τn+1+ un+1−u+ O(τ 2 + h4 )xxxx,ixxxxt,i21212 2Подставим эти разложения в формулу для ψin и учтем уравнение теплопроводности:n+ 1n+ 1= uxx,i2 − uxxt,i2n+ 21ψin = (−ut,in+ 1n+ 12+ uxx,i2 + fin+ 12) + uxxxx,ih2+ O(τ 2 + h4 ) = O(τ 2 + h2 ).12§4 Задача Штурма-Лиувилля 2d u+ λu(x) = 0, где u(x) 6≡ 0,dx2u(0) = u(1) = 0x ∈ (0, 1)(8)λ — собственные значения, u(x) — собственные функции.Решением данной задачи являются собственные значения λk и собственныефункции uk (x):λk = π 2 k 2 , k = 1, 2, .
. . ,0 < λ1 < λ2 < λ3 < . . . < λn < . . . ,uk (x) = c · sin(πkx),где c = const 6= 0.√Если положить c = 2, то получим√uk (x) = 2 · sin(πkx)и тогда uk (x) будет образовывать ортонормированный базис в нормированном пространстве L2 [0, 1]:L2 : (uk , ul ) = δkl ; {uk }∞1 .Тогда ∀f ∈ L2 получаем, чтоf (x) =∞Xck uk (x),k=1где ck = (f, uk ) – коэффициенты Фурье.
В этом случае справедливо равенство Парсеваля:∞X2kf kL2 =c2kk=183Рассмотрим разностную задачу Штурма–Лиувилля:xi ∈ wh ;yxxi + λy(xi ) = 0,y(xi ) 6≡ 0(9)y0 = yN = 0.(10)Перепишем задачу в виде:yi+1 − 2yi + yi−1 + h2 λyi = 0Решение будем искать в виде:y(xi ) = sin(αxi ),где α ∈ R, i = 1, N − 1.Перепишем уравнение в виде yi+1 + yi−1 = (2 − h2 λ)yi i = 1, N − 1. Очевидно,что:yi+1 + yi−1 = y(xi + h) + y(xi − h) = sin α(xi + h) + sin α(xi − h) = 2 sin(αxi ) cos(αh)Следовательно:2 cos(αh) sin(αxi ) = (2 − h2 λ) sin αxiТак как sin(αxi ) 6≡ 0:22 cos αh = (2 − h λ)=⇒2h λ = 2(1 − cos αh) = 4 sin2αh2.Откуда следует, что4λ = 2 sin2hαh2.Для того, чтобы найти α воспользуемся краевым условием для y, а именноyN = 0 = sin α,откуда следует, что αk = πk.Тогда собственные значения λk равны4 sin2 (πkh),λk = 2 ·h2k = 1, N − 1.(11)Теперь можно выписать собственные функции:y(xi ) = C sin(πkxi ),xi ∈ wh .(12)Рассмотрим линейное пространство H сеточных функций размерности N − 1dim HN −1 = N − 1,84со скалярным произведением∀f, g ∈ HN −1 :N−1X(f, g) =fi gi hi=1и нормой:kf kL2 (wh ) = kf k =N−1X! 12fi2 h.i=1√−1Если взять C = 2, то система функций {yk }Nk=1 будет образовывать ортонормированный базис в смысле этого скалярного произведения.√yk (xi ) = 2 sin πkxi , i, k = 1, N − 1А это означает, что∀f ∈ HN −1(yk , ye ) = δk,ef=N−1XCk ykk=1Для удобства обозначимyk (xi ) = µk (xi );−1{µ}N— ортонормированный базиc из собственных векторов.1Вновь справедливо равенство Парсеваля:kf k2L2 (wh )=N−1XCk2 .k=1Теперь можем переходить к получению априорной оценки.
Решение задачи будем искать в виде:N−1Xnzi =ck (tn )µk (xi ),(∗)k=1где−1wh , {µk }N1— ортонормированный базис из собственных функций.xi ∈Тогда погрешность аппроксимации тоже будет представляться в виде:ψin=NXψ (k) (tn )µk (xi )(∗∗)k=1Подставляя (*) и (**) в исходное уравнение, получим:PNN−1N−1XX1(k)k=1 (ck (tn+1 ) − ck (tn ))µk (xi ) =(ck (tn+1 ) + ck (tn ))µxx,i +ψ (k) µk (xi )τ2k=1k=1(k)(k)Учитывая, что µxx,i = −λk µxi и приравнивая все коэффициенты при µ(k) (x),получим:ck (tn+1 ) − ck (tn ) 1+ λk (ck (tn+1 ) + ck (tn )) = ψ (k) (tn ), k = 1, N − 1τ285Получили задачу для нахождения функции ck . Домножим все на τ и соберемподобные члены:(1 + 0.5τ λk ) · ck (tn+1 ) = (1 − 0.5τ λk ) · ck (tn ) + τ ψ (k) (tn )Так как (1 + 0.5τ λk ) 6= 0, то окончательно получим:ck (tn+1 ) =Обозначим qk =(1 − 0.5τ λk )τck (tn ) +ψ (k) (tn )(1 + 0.5τ λk )(1 + 0.5τ λk )(1−0.5τ λk ),(1+0.5τ λk )|qk | < 1.Задача.