ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
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