ВУЗ:
Составители:
преобразования матрицы
L
, в матрицу
LU
взятый из [27] имеет сле-
дующий вид:
for i=1 ; i <=n ; i ++
for k=0 ; k <= i−1 ; k ++
if i , j∉Z A
{
a
ik
=a
ik
/a
kk
;
for j=k 1 ; j <= n ; j ++
if i , j∉Z A a
ij
=a
ij
−a
ik
a
kj
;
}
Полученное разложение
LU
является предобуславливателем к
матрице
A
[27]. Запишем систему (3.11) в виде:
U
−1
L
−1
Ax=U
−1
L
−1
b
(3.15)
Данную систему можно быстро решить методом BICGStab [27],
алгоритм которого для системы(2.19) следующий:
1. Считаем
r
0
=U
−1
L
−1
b−A x
0
;
r
0
∗
задаётся произвольно (в
данном случае бралось
r
0
∗
=r
0
),
x
0
- произвольное начальное
приближение;
2.
p
0
=r
0
;
3. для
j=0,1, ...
4.
α
j
=
r
j
, r
0
∗
U
−1
L
−1
A p
j
, r
j
;
5.
s
j
=r
j
−α
j
U
−1
L
−1
A p
j
;
6.
ω
j
=
U
−1
L
−1
A s
j
, s
j
U
−1
L
−1
A s
j
,U
−1
L
−1
A s
j
;
7.
x
j1
=x
j
α
j
p
j
ω
j
s
j
;
8.
r
j1
=s
j
−ω
j
U
−1
L
−1
As
j
;
9.
β
j1
=
r
j1
, r
0
∗
r
j
, r
0
∗
×
α
j
ω
j
;
10.
p
j1
=r
j1
β
j
p
j
−ω
j
U
−1
L
−1
A s
j
;
11. продолжать пока
∥r
j1
∥ε
;
Применение метода BICGStab с предобуславливателем, полу-
ченным разложением
ILU 0
позволяет существенно сократить чис-
ло итераций в расчёте системы линейных уравнений [27]. Так в дву-
мерных задачах число итераций при расчете поправки давления не
превышало 50.
53
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »