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

Разностные схемы

.pdf
Скачиваний:
84
Добавлен:
27.02.2016
Размер:
920.77 Кб
Скачать

c2 (un,m ,un,m1 )un,m1 + c1 (un,m ,un1,m )un1,m (c1 (un,m ,un1,m )+ c1 (un,m ,un+1,m )+ c2 (un,m ,un,m1 )+ c2 (un,m ,un,m+1 ))un,m +

c1 (un,m ,un+1,m )un+1,m + c2 (un,m ,un,m+1 )un,m+1 f (xn ,ym ) = 0,

n=1, …, N-1 ; m=1, …, M-1,

где

c (u ,u + ) = 1 a (1 (u + + u )),

1 n,m n 1,m h2 2 n 1,m n,m

x .

c (u ,u + ) = 1 a (1 (u + + u )).

2 n,m n,m 1 hy2 2 n,m 1 n,m

При каждом фиксированном значении n и m мы получаем одно уравнение из системы. Далее эта система решается каким-нибудь итерационным методом (смотри главу 5).

________________________________________________________________________________

Пример 11.8 (метод SOR)

Рассмотрим уравнение (11.84) при a=1, b=0 в квадрате {0x1, 0y1} с граничными условиями

u (0,y)=u (1,y)=0 , u (x,0) = 0

, u (x,1) = x(1 x) ln(2).

(11.99)

Правая часть уравнения

 

 

f (x,y)=

x(1-x)

2

ln(1+y).

 

2

 

(1+y)

 

 

Зададим разностную сетку с N=M=16. При начальном приближении un(0),m = 0 , (n=0,…,N ; m=0,…,M) и ε=10-5 итерационный процесс сходится за 40 итераций. Приближённое решение показано на рисунке 11.28.

81

Рисунок 11.28. Приближённое решение уравнения (11.1) с граничными условиями (11.16),

метод SOR (a=1, b=0, N=M=16, ε=10-5).

Точное решение этой задачи – u(x,y)=x(1-x) ln(1+y). Для оценки ошибки приближённого решения введём u(e)={u(xn,ym)} - точное решение вычисленное в узлах сетки и u={un,m} - приближённое решение задачи. Тогда для решения показанного на рисунке 11.28

e

=

 

u u(e)

2

8 105 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

u(e)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

______________________________________________________________________________

11.4.3. Применение быстрого преобразования Фурье.

Если область определения задачи представляет прямоугольную односвязную область, коэффициенты уравнения (11.84) постоянны и граничные условия в одном из направлений имеют специальный вид, то можно применить метод, основанный на преобразовании Фурье. Мы рассмотрим основные идеи этого метода на примере одной задачи, а затем обсудим все остальные случаи, в которых этот метод можно применять.

Пусть коэффициенты уравнения (11.92) постоянны: a(x,y)=a и b(x,y)=b, область определения – прямоугольник {0xlx, 0yly}, а граничные условия имеют вид

82

 

u(0,y) = u(lx ,y) = 0,

 

 

αu(x, 0) + α

u

(x, 0)=g

(x), .

1

 

2

y

 

2

 

 

α u(x,l

) + α

u

(x,l

)=g

 

(x).

3

y

4

y

y

4

 

Тогда разностная схема (11.11) примет вид

c1un,m1 + c2un1,m c3un,m + c2un+1,m + c1un,m+1 = fn,m ,

(11.100)

n=1, …, N-1 ; m=1, …, M-1,

 

u0,m = uN ,m = 0 , m=0, …, M,

 

 

 

 

 

 

 

 

 

2c α h

 

 

 

2c h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

y

 

 

1

y

 

 

c2un1,0

c3

 

 

 

un,0

+ c2un+1,0 + 2c1un,1un,1

= fn,0 +

 

 

g2

(xn ), α2 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α2

 

 

 

 

α2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

, α = 0

u

n,0

 

g

(x

n

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α1

2

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n=1, …, N-1,

 

 

 

 

 

 

 

 

 

2c α h

 

2c h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 3

y

1

y

 

 

 

 

2c1un,M 1 + c2un1,M c3

+

 

 

un,M + c2un+1,M = fn,M

 

 

g4

(xn ), α4

0

 

 

 

 

 

 

 

 

 

 

 

 

 

α4

 

 

α4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

, α

=

 

u

 

g

(x

n

)

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

n,M

 

α3

4

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m=1, …, M-1.

Здесь

c

=

 

a

,

h2

1

 

 

 

 

 

 

y

 

 

c

=

a

 

, ,

h2

 

2

 

 

 

 

 

 

 

x

 

 

c3 = 2(c1 + c2 ) b.

(11.101)

,(11.102)

,(11.103)

и для вывода граничных условий при y=0 и y=ly применялся метод фиктивных областей. Для этого типа граничных условий решение можно представить в виде конечного ряда

Фурье:

 

1

N 1

 

un,m =

vk,m sin(πkn N ), m=0, …, M.

(11.104)

 

 

N k=1

 

Правую часть уравнения также можно представить в виде

83

 

1

N 1

 

fn,m =

dk,m sin(πkn N ), m=0, …, M

(11.105)

 

 

N k=1

 

и коэффициенты dk,m вычисляются по формуле

 

 

N 1

 

dk,m = fn,m sin(πkn N ), m=0, …, M.

(11.106)

 

n=1

 

В дальнейшем, операцию вида (11.106) мы будем обозначать как dk,m = Fn (fn,m ), где n указывает на параметр, по которому происходит суммирование.

Подстановка выражений (11.104) и (11.105) в уравнения (11.100) и граничные условия (11.102) и (11.103) даёт следующую систему уравнений

 

 

 

γ

(1)v

k,0

 

+ γ(2)v

k,1

= d

,0

,

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

c1vk,m1

(c3 2c2 cos(πk N ))vk,m + c1vk,m+1 = dk,m ,

(11.107)

 

 

 

 

 

 

 

m=1, …, M-1,

 

 

 

 

 

 

 

 

 

 

 

 

 

γ(3)v

k,M 1

+ γ

(4)v

k,M

= d

 

,

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

k

 

 

 

 

 

 

k,M

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

, α = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α1

 

 

 

n

 

(

 

2

 

 

 

 

n

)

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dk,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

=

 

 

 

 

 

 

 

 

 

 

2h c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

f

 

 

+

 

 

 

 

 

 

 

 

g

2

x

 

 

 

 

, α 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

n,0

 

 

 

 

 

 

α2

 

 

 

 

 

(

 

n )

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

α

 

 

=

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α3

 

n

(

 

4

 

 

 

 

n

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dk,M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

2h c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

f

 

 

 

 

 

 

 

 

 

 

g

 

x

 

,

α

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

n,M

 

 

 

 

 

 

α4

 

 

 

 

 

4 (

 

 

n )

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Параметры γk(1), ... , γk(4) определяются как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, α = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2c1α1hy

 

 

 

 

,

 

γk

=

 

 

 

 

 

 

 

cos(πk N )+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, α2 0

 

 

 

c3 + 2c2

 

 

 

 

α

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

, α =

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2)

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

γk

 

 

 

 

 

,

 

α

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

84

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

, α = 0

 

(3)

 

 

4

 

 

 

 

 

 

,

γk

=

 

, α

0

 

2c

 

 

 

1

4

 

 

 

 

 

 

 

 

1

 

 

, α = 0

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

(4)

 

 

2c1α3hy

 

 

.

γk

=

+ 2c2 cos(πk N )

 

 

 

 

 

 

,

α4 0

 

 

c3

α

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

Система (11.107) представляет собой систему уравнений с трёхдиагональной матрицей. При b0 эта матрица будет иметь свойства диагонального преобладания и для решения этой системы можно применить метод прогонки (смотри параграф 3.6).

Эффективность данного метода определяется эффективностью вычисления преобразования Fn(…). Рассматриваемый нами метод имеет широкое применение благодаря тому, что при N=2p существует алгоритм, который позволяет вычислить преобразование Fn(…) за O(log2(N)) операций. Этот алгоритм носит название быстрое преобразование Фурье (FFT, Fast Fourier Transform). В настоящее время процедура вычисления FFT является стандартной и входит в состав всех инструментальных сред и библиотек программ.

Суммируя всё изложенное выше, процедура решения уравнения (11.100) состоит в следующем:

1)проводят дискретное преобразование Фурье (11.106) правой части, используя FFT,

2)для каждого значения k=1,…,N решают системы (11.107) и находят vk,m,

3)используя FFT, проводят обратное преобразование (11.104) сеточной функции vk,m для получения решения un,m.

Полное число операций необходимое для выполнения этой процедуры составляет Ns(2.5log2(Ns)+8), что значительно меньше, чем, например, в методе SOR.

Мы рассмотрели построение алгоритма, когда в граничных точках при x=0 и x=lx решение равно нулю. Можно легко обобщить данный метод и для граничных условий (11.4). Запишем уравнение (11.17) при n=1:

c1u1,m1 + (c2u0,m )c3u1,m + c2u2,m + c1u1,m+1 = f1,m .

Согласно граничному условию (11.101) слагаемое в скобках равно нулю. Если задано граничное условие u0,m=g1(ym), то мы можем перенести слагаемое c2u0,m в правую часть и при этом левая часть уравнения будет такой же как и для условия (11.18). Таким образом, применяя рассмотренный выше алгоритм с модифицированными правыми частями

f1,m f1,m c2g1(ym ),

fN 1,m fN 1,m c2g3(ym ).,

85

мы получим решение уравнения с граничными условиями (11.4). Естественно, что в конце вычислений мы должны положить u0,m=g1(ym) и uN,m=g3(ym).

Построение метода для других типов специальных граничных условий производится аналогичным образом. Дискретное преобразование Фурье в общем виде можно представить

в следующей форме

un,m = 1 N vk,mϕk,n , m=0, …, M,

N k=0

где

ϕk,n = sin(πkn N ) - для граничных условий (11.87),

 

 

1/2, k

= 0 , k = N

 

ϕk,n = cos(πkn

 

 

 

 

 

 

 

- для граничных условий (11.88) и

N

)

< k < N

 

1 , 0

 

 

 

 

 

 

ϕk,n = exp(2πikn N ) - для граничных условий (11.86).

Все эти преобразования вычисляются с использованием алгоритма FFT.

Для граничных условий Неймана (11.5) правая часть должна быть модифицирована следующим образом:

f0,m f0,m 2c2hxg1(ym ), fN ,m fN ,m 2c2hxg3(ym )..

Таким образом, мы полностью обсудили методы решения уравнения (11.84) с постоянными коэффициентами, граничными условиями (11.6)-(11.8) по x и граничными условиями общего вида по y. Решение уравнения с граничными условиями (11.89)-(11.91) по y и граничными условиями общего вида по x осуществляется совершенно аналогичным образом.

Рассмотренный метод можно использовать для задачи с постоянными коэффициентами и в трёхмерном случае, выполняя двойное преобразование Фурье по тем координатам, для которых заданы граничные условия специального вида.

________________________________________________________________________________

Пример 11.9 (метод FFT)

Применим метод FFT к задаче из примера 11.8. Тогда система (11.107) примет вид

vk,0 = 0 ,

vk,m1 2(2 cos(πk N ))vk,m + vk,m+1 = h2 dk,m ,

a

m=1, …, M-1,

86

vk,M = dk,M .

На сетке N=M=16 ошибка полученного решения

e

=

 

u u(e)

2

5 105 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

u(e)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

а время вычислений примерно в 10 раз меньше по сравнению с методом SOR.

________________________________________________________________________________

11.4.4. Метод установления.

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

модельной задачи

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

u

+

u

= f (x,y),

 

a

 

2

 

2

 

 

 

x

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

{0xlx

, 0yly},

(11.108)

u(0,y) = g1(y) , u(lx ,y) = g3(y) , u(x, 0) = g2(x) , u(x,ly ) = g4(x) .

Вначале мы должны сформулировать соответствующую нестационарную задачу. В

нашем случае она может быть записана в следующей форме:

 

v

 

2

 

 

2

 

 

 

 

 

v

 

v

 

f (x,y),

 

 

= a

 

2

+

 

2

 

 

t

 

x

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

{0xlx

, 0yly},

(11.109)

v(x,y, 0) = g(x,y) ,

v(0,y) = g1(y) , v(lx ,y) = g3(y) , v(x, 0) = g2(x) , v(x,ly ) = g4(x),

где функция g(x, y) задаёт произвольные начальные условия. Так как граничные условия не зависят от времени, то естественно ожидать, что решение v(x,y,t) с течением времени будет

87

меняться всё медленнее и медленнее. Поэтому в пределе t→∞, это решение будет

стремиться к решению задачи (11.108), то есть

lim v(x,y,t) = u(x,y) .

t→∞

Следовательно, вместо стационарной задачи (11.108) можно решать нестационарную задачу (11.109) до некоторого момента времени t, когда решение v(x,y,t) перестанет изменяться в пределах заданной точности. Это и есть основная идея метода установления.

В соответствии с нашим рассмотрением нам теперь нужно построить разностную схему для задачи (11.109). Решение такого типа задач мы обсуждали в параграфе 11.2. Вначале рассмотрим явную схему (11.43), которая применительно к нашей задаче имеет вид

 

vnk,+m1 vnk,m

= a (

xvnk,m + yvnk,m )f (xn ,ym ) ,

(11.110)

 

 

 

τ

 

 

n=1, …, N-1 ; m=1, …, M-1 ; k=0, 1, …,

 

 

 

 

 

vn0,m = g(xn ,ym ),

 

 

v0,k+m1 = g1(ym ) , vNk+,m1 = g3(ym ) ,

 

 

 

 

 

m=0, …, M,

 

 

vnk,0+1 = g2(xn ) , vnk,+M1 = g4(xn ) ,

 

 

 

 

 

n=0, …, N.

 

Здесь и далее используются следующие обозначения:

 

 

xvnk,m =

1

 

(vnk+1,m 2vnk,m + vnk1,m ),

 

 

h2

 

 

 

 

 

x

 

 

 

yvnk,m =

1

(vnk,m+1 2vnk,m + vnk,m1 ).

 

 

h2

 

 

 

 

 

y

 

 

Тогда разностную схему для уравнения (11.108) можно записать в виде

 

 

a ( xun,m +

yun,m ) = f (xn ,ym ),

(11.111)

n=1, …, N-1 ; m=1, …, M-1 ; k=0, 1, …,

 

u0,k+m1 = g1(ym ) , uNk+,m1 = g3(ym ) ,

m=0, …, M,

unk,0+1 = g2(xn ) , unk,+M1 = g4(xn ) ,

88

 

 

 

 

n=0, …, N.

Решая

задачу (11.110), мы будем последовательно вычислять сеточную функцию

{

n,m }

, k=0,1,… . Когда эта функция уже не изменяется в пределах заданной точности,

vk = vk

то есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vk+1 vk

 

 

 

ε ,

 

 

 

 

 

 

 

 

 

 

 

vk+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

процесс установления завершается и vk+1 есть приближённое решение стационарной задачи. Естественно возникает вопрос: всегда ли сеточная функция vk+1 будет приближаться к решению стационарной задачи? Для того чтобы ответить на этот вопрос нам необходимо провести анализ поведения разности

ek

= vk

u

n,m

,

(11.112)

n,m

n,m

 

 

 

при k→∞. Задачу (11.111) можно записать в следующей эквивалентной форме

un,m un,m = a ( xun,m + yun,m )f (xn ,ym ) ,

τ

un,m = un,m ,

n=1, …, N-1 ; m=1, …, M-1 ; k=0, 1, …,

+ граничные условия. Вычитая эти уравнения из (11.110), получим

ek+1

ek

= a (

 

 

 

 

yenk,m ),

 

 

n,m

n,m

xenk,m +

 

(11.113)

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

e0

= v0

u

n,m

= g(x

n

,y

m

) u

n,m

,

 

n,m

n,m

 

 

 

 

 

n=1, …, N-1 ; m=1, …, M-1 ; k=0, 1, …,

e0,k+m1 = eNk+,m1 = 0 ,

m=0, …, M,

enk,0+1 = enk,+M1 = 0 ,

n=0, …, N.

Для дальнейших оценок будем полагать, что N=M. Предположим, что функция g(x,y) удовлетворяет граничным условиям задачи (11.108). Тогда начальную ошибку можно представить в виде конечного ряда Фурье:

89

N 1 N 1

 

 

 

 

 

en0,m = ∑∑qr,s sin(πrn N )sin(πsm N ).

 

s=1 r=1

 

 

 

 

 

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

 

N 1 N 1

 

 

 

 

 

enk,m = ∑∑(λr,s )k qr,s sin(πrn N )sin(πsm N ),

 

s=1 r=1

 

 

 

 

 

где

 

 

 

 

 

λr,s = 1

4aτ

sin2 (πr 2N )4a2τ sin2 (πs 2N ).

(11.34)

2

 

hx

 

 

hy

 

 

Тогда относительную величину ошибки можно оценить как

 

 

 

 

ek

 

 

 

 

(maxr,s | λr,s |)k

= αk .

(11.35)

 

 

 

 

 

 

 

 

 

 

 

 

 

e0

 

 

 

 

Поэтому, для того чтобы ||ek||/||e0|| стремилось к нулю, когда k→∞, необходимо чтобы α<1. Так как α=α(τ), то при некотором значении τ величина α будет наименьшей и значит, будет наблюдаться самое быстрое уменьшение ошибки. Из соотношения (11.34) видно, что

λleftλr,sλright, где

λleft = 1 2(β1 + β2 )cos2 (π2N )1,

λright = 1 2(β1 + β2 )sin2 (π2N )1,

β =

2aτ

, β =

2aτ

.

h2

 

1

2

h2

 

x

 

y

Увеличение τ, начинаяя с τ=0, приводит к тому, что эти крайние значения сдвигаются влево на числовой оси. При некотором значении τ=τ* возникает ситуация, когда λleft и λright располагаются симметрично относительно нуля, то есть

-λleft=λright.

(11.116)

При этом α(τ*)=|λleft|=λright. Это и есть наименьшее из всех возможных значений α, так как при дальнейшем увеличении τ, λright будет приближаться к нулю, а λleft – удаляться от нуля и α(τ)=|λleft|>α(τ*). Таким образом, оптимальное значение τ определяется из условия (11.116) и равно

τ =

(hxhy )2

 

.

2a (hx2 + hy2 )

Тогда

α = 1 2 sin2 (π2N ).

90