Добавлен: 06.02.2019
Просмотров: 4541
Скачиваний: 4
86
2
,
1
,
,
1
1
,
,
2
h
u
u
u
u
u
j
i
j
i
j
i
j
i
j
i
.
Используя подстановку
2
h
, выразим из этой схемы u
i,j-1
j
i
j
i
j
i
j
i
u
u
u
u
,
1
,
1
,
1
,
)
1
2
(
,
(7.7)
где: u
0,j
=
1
(t
j
); u
n,j
=
2
(t
j
).
Получаем разностную схему, которой аппроксимируем уравнение
(7.4). Эта схема (7.7) неявная, и выглядит так, как показано на рисунке 10.
При построении схемы (7.7) получается система линейных уравнений с
трехдиагональной матрицой. Решив ее любым способом (в частности,
методом прогонки), получаем значения функции на определенных
временных слоях. Так, на нулевом временном слое используем начальное
условие U
i,0
=f(x
i
), т.к. j=0. Эта неявная схема более устойчива для любых
значений параметра >0.
Есть и явная схема (рисунок 11), но она устойчива только при
2
1 , т.е. при
2
2
h
.
Рисунок 11 - Явная схема
7.2 Решение задачи Дирихле для уравнения Лапласа методом
сеток
Рассмотрим уравнение Лапласа
0
2
2
2
2
y
u
x
u
.
(7.8)
87
Уравнение (7.8) описывает распространение электромагнитных
волн(полей). Будем рассматривать уравнение Лапласа в прямоугольной
области
b
y
a
x
y
x
0
,
0
),
,
(
с краевыми условиями
)
(
)
,
0
(
1
y
f
y
u
;
)
(
)
,
(
2
y
f
y
a
u
;
)
(
)
0
,
(
3
x
f
x
u
;
)
(
)
,
(
4
x
f
b
x
u
,
где
4
3
2
1
,
,
,
f
f
f
f
-заданные функции. Заметим, что чаще всего область бывает
не прямоугольной.
Введем обозначения u
ij
=u(x
i
,y
j
). Накладываем на прямоугольную
область сетку
i
h
x
i
; i=0,1,…,n;
j
y
j
1
; j=0,1,…,m. Тогда
n
h
x
n
,
m
l
y
m
.
Частные производные аппроксимируем по формулам
),
(
2
);
(
2
2
2
1
,
,
1
,
2
2
2
2
,
1
,
1
2
2
l
O
l
u
u
u
y
u
h
O
h
u
u
u
x
u
j
i
j
i
j
i
j
i
j
i
i
и
заменим уравнение Лапласа
конечно-разностным уравнением
Рисунок 12 – Схема “крест”
0
2
2
2
1
,
,
1
,
2
,
1
,
,
1
l
u
u
u
h
u
u
u
j
i
j
i
j
i
j
i
j
i
j
i
,
(7.9)
где: i=1,…,n-1, j=1,...,m-1 (т.е. для внутренних узлов).
Погрешность замены дифференциального уравнения разностным
составляет величину О(
2
2
l
h
). Выразим u
i,j
при h=l, и заменим систему
88
).
(
);
(
);
(
);
(
;
4
/
)
(
2
1
0
4
3
0
1
,
1
,
,
1
,
1
y
f
u
y
f
u
x
f
u
x
f
u
u
u
u
u
u
j
nj
j
j
i
im
i
i
j
i
j
i
j
i
j
i
ij
(7.10)
Получаем систему (7.10) линейных алгебраических уравнений,
которые можно решить любым итерационным методом (Зейделя, простых
итераций и т.д.). При этом построении системы использовалась схема типа
“крест”(рисунок 12). Строим последовательность итераций по методу
Гаусса-Зейделя
)
4
1
1
1
1
1
1
1
1
u
u
u
u
(
u
)
(s
i,j
(s)
i,j
(s)
,j
i
)
(s
,j
i
)
(s
i,j
,
где s-текущая итерация.
Условие окончания итерационного процесса
)
(
)
1
(
,
max
S
ij
S
ij
j
i
u
u
.
(7.11)
Условие (7.11) ненадежно и на практике используют другой критерий
),
1
(
max
)
(
)
1
(
v
u
u
S
ij
S
ij
i,j
где
)
1
(
)
(
)
(
)
1
(
max
max
S
ij
S
ij
S
ij
S
ij
u
u
u
u
v
.
Схема “крест “- явная устойчивая схема ( малое изменение входных
данных ведет к малому изменению выходных данных).
7.3 Решение смешанной задачи для уравнения гиперболического
типа методом сеток
Рассмотрим уравнение колебания однородной и ограниченной
струны.
Задача
состоит
в
отыскании
функции
u(x,t)
при
t>0,
удовлетворяющей уравнению гиперболического типа
89
x
u
C
t
u
2
2
2
2
,
(7.12)
где: 0<x< a; 0<t<T,
начальным условиям
;
0
;
0
g(x)
)
(x,
t
u
f(x)
)
u(x,
0 x a
(7.13)
и краевым условиям
;
;
0
2
1
(t)
μ
u(a,t)
(t)
μ
,t)
u
.
0
T
t
(7.14)
Заменим С на сt и получим уравнение
2
2
2
2
x
u
t
u
и в дальнейшем будем считать С=1.
Для построения разностной схемы решение задачи (7.12)-(7.14)
построим в области
T
t
a
x
t
x
D
0
,
0
),
,
(
сетку
ih
x
i
; i=0,1,…,n;
n
h
a
;
j
t
j
; j=0,1,…,m; m=T.
Аппроксимируем (7.12) разностными производными второго
порядка точности относительно шага
h
u
u
u
τ
u
u
u
,j
i
i,j
,j
i
i,j
i,j
i,j
2
1
1
2
1
1
2
2
.
(7.15
)
Полагая = /h перепишем (7.15), выразив U
i,j+1.
Таким образом
получим трехслойную разностную схему
u
u
)
λ
(
)
u
u
(
λ
u
i,j
i,j
,j
i
,j
i
i,j
1
2
1
1
2
1
1
2
,
(7.16
)
где: i=1,…,n; j=1,…,m. Задаем нулевые граничные условия
1
(t)=0,
2
(t)=0.
Тогда в (7.16)
0
u
oj
,
0
u
nj
для всех j.
90
Схема (7.16) называется трехслойной, т.к. она связывает значения
искомой функции на трех временных слоях j-1, j, j+1.
Численное решение задачи состоит в вычислении приближенных
значений u
ij
решения u(x,t) в узлах
)
,
(
j
i
t
x
при i=1,…,n; j=1,…,m. Алгоритм
решения основан на том, что решение на каждом следующем слое (j=2,3,..,n)
можно получить пересчетом решений с двух предыдущих слоев (j=0,1,..,n-1)
по формуле (7.16). При j=0 решение известно из начального условия
)
(
0
i
i
x
f
u
. Для вычисления решения на первом слое (j=1) положим
τ
x
u
x
u
)
(x,
t
u
)
0
,
(
)
,
(
0
,
(7.17
)
тогда
)
(
0
1
i
i
i
x
g
u
u
, i=1,2,…,n. Теперь для вычисления решений на
следующих слоях можно использовать формулу (7.16).
Описанная схема аппроксимирует задачу (7.12)-(7.14) с точностью
O( +h). Невысокий порядок аппроксимации по объясняется грубостью
аппроксимации по формуле (7.17).
Схема будет устойчивой, если выполнено условие
h
.