ВУЗ:
Рубрика:
160
KSP ksp
INTEGER ierr
где type соответствует типам, указываемым в -ksp_type.
Предобуславливатель устанавливается аналогично:
Сall PСSetFromOptions(pс, ierr)
PС pс
INTEGER ierr
опция -pc_type, допустимые значения которой none, jacobi, sor, lu, ilu
(для полного списка -help) или
Call PCSetType(pc, type, ierr)
PC pc
INTEGER ierr
Для решения линейной системы выбранным методом
необходимо воспользоваться процедурой
SUBROUTINE KSPSolve(ksp, b, x, ierr)
KSP ksp
Vec x, b
INTEGER ierr
где b и x соответственно обозначают вектор b и вектор решения.
Для получения количества итераций нужно воспользоваться
процедурой
Call KSPGetIterationNumber(ksp, its, ierr)
KSP ksp
INTEGER its, ierr
Параметр its содержит либо номер итерации, на которой крите-
рий сходимости был успешно выполнен, или номер итерации, на
которой была обнаружена расходимость или прерывание.
Если решатель (солвер) KSP больше не нужен, он удаляется ко-
мандой
Call KSPDestroy(ksp, ierr)
KSP ksp
INTEGER ierr
8.6 Пример
Найти численно методом конечных разностей решение уравне-
ния Лапласа
0
2
2
2
2
=
y
u
+
x
u
, в области (
10 <x<
, 10 <y< ).
Страницы
- « первая
- ‹ предыдущая
- …
- 158
- 159
- 160
- 161
- 162
- …
- следующая ›
- последняя »
