ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
105
Составим разностную схему этого уравнения (рис.П.2.2), представим вторые
производные по формулам центральных (симметричных) разностей следующим об-
разом:
,
.
Аппроксимируя производные центральными разностями по данным формулам
, получим
.
Ошибка аппроксимации равна
. Записывая разностное уравнение
для всех узлов сетки, мы сводим дифференциальную задачу к линейно алгебраиче-
ской.
Рис.П.2.2. Пятиточечный шаблон для уравнения Лапласа
Положим
, тогда значение функции в точке (
i,j
) на
k
-й итерации бу-
дет выглядеть так:
В программе декомпозиция области выполнена по строкам, как показано
на рисунке. Так удобнее при программировании на языке C, на Fortran удобнее раз-
биение производить по столбцам (это определяется способом размещения матриц
(
)
) (
2
1
2
,1
,
,
2
2
,
2
x
f
f
f
x
x
f
j
i
ji
ji i
ji
∆+ + −
=
+
ο
(
)
) (
2
1
2
1 ,
,
1 ,
2
2
,
2
y
f
f
f
y
y
f
ji
ji
ji
ji
∆+ + −
=
+
ο
(
)
(
)
0 ) (
2
1 ) (
2
1
2
1 ,
,
1 ,
2
2
,1
,
,
2
= ∆+ + −
+ ∆+ + −
+
+
y
f
f
f
y
x
f
f
f
x
ji
ji
ji
j
i
ji
ji i
ο
ο
)
,
(
2
2
y x
∆ ∆
ο
y x
∆=∆
f
(
)
1
1 ,
1
1 ,
1
,1
1
,1
,
4
1
+
+
+
+
+
=
k
ji
k
ji
k
j
i
k
j
i
k
ji
f
f
f
f
f
1...,97,98,99,100,101,102,103,104,105,106 108,109,110,111,112,113,114,115,116,117,...180