Към съдържанието

!SOLVER

Управление на решаващия алгоритъм

Задължителни управляващи данни.

Параметри

METHOD =    Метод за решаване (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Директен метод с изключение на контактен анализ (само последователна обработка) (в момента недостъпен)
            DIRECTmkl  : Директен метод с Intel MKL
            MUMPS      : Директен метод с MUMPS
            Когато е избран директен метод, редовете с данни се игнорират.
            Итеративните методи за задачи с 3 степени на свобода поддържат нишково паралелно изпълнение с OpenMP

PRECOND =   Метод за предобуславяне на итеративните решаващи алгоритми (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (Блоков) SSOR (с многоцветно подреждане само за задачи с 3 степени на свобода)
            3          : (Блоково) диагонално мащабиране
            5          : AMG с пакета за многостепенно предобуславяне ML
            10         : Блоков ILU(0)
            11         : Блоков ILU(1)
            12         : Блоков ILU(2)
            10, 11 и 12 са достъпни само за задачи с 3 степени на свобода
            За нишково паралелно изпълнение с OpenMP се препоръчват SSOR, диагонално мащабиране или ML

ITERLOG =   Дали да се извежда историята на сходимост на итеративния решаващ алгоритъм          (YES/NO)(По подразбиране: NO)

TIMELOG =   Дали да се извежда времето за изчисление на решаващия алгоритъм                       (YES/NO/VERBOSE)(По подразбиране: NO)

USEJAD =    Дали да се използва подреждане за векторни процесори                    (YES/NO)(По подразбиране: NO)
            Валидно само когато се използва итеративен метод за задача с 3 степени на свобода

SCALING =   Дали матрицата да се мащабира така, че диагоналните елементи да са 1       (YES/NO)(По подразбиране: NO)
            Валидно само когато се използва итеративен метод за задача с 3 степени на свобода

DUMPTYPE =  Формат за dump на матрицата (NONE, MM, CSR, BSR) (главно за отстраняване на грешки)
            NONE : Без dump (по подразбиране)
            MM   : Формат Matrix Market
            CSR  : Формат Compressed Sparse Row (CSR)
            BSR  : Блоков CSR формат

DUMPEXIT =  Прекратява програмата веднага след dump на матрицата           (YES/NO)(По подразбиране: NO)

MPCMETHOD = Метод за обработка на многоточкови ограничения (1, 2, 3)
            1: Наказателен метод (по подразбиране при използване на директен метод)
            2: MPC-CG метод (не се препоръчва)
            3: Явно елиминиране на степени на свобода (по подразбиране при използване на итеративен метод)

ESTCOND =   Честота на оценяване на числото на обусловеност (експериментално)
            Оценява числото на обусловеност през всеки зададен интервал от итерации и в края на итерациите
            Когато е зададено 0, не се извършва оценяване

METHOD2 =   Вторичен метод за решаване (BiCGSTAB, GMRES, GPBiCG) (експериментално)
            Валидно само когато за METHOD е зададен CG
            Ако CG се разходи, автоматично се превключва към вторичния метод и решаването продължава
            За останалите параметри и редове с данни се използват същите стойности

CONTACT_ELIM = Задава дали при контактен анализ се извършва елиминиране на степени на свобода (0,1)
               0: Елиминиране на степени на свобода само при използване на итеративен метод (по подразбиране)
               1: Винаги извършва елиминиране на степени на свобода (включително при директен метод)

** 2-ри и следващи редове **

(2nd line) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Променлива Атрибут Описание
NITER I Брой итерации (по подразбиране: 100)
iterPREmax I Брой итерации на предобуславяне Additive Schwarz (по подразбиране: 1)
(Препоръчителна стойност: 1; 2 може да е ефективно при някои паралелни изчисления)
NREST I Брой подпространства на Крилов (по подразбиране: 10)
(Валидно само когато GMRES е избран като метод за решаване)
NCOLOR_IN I Целеви брой цветове за многоцветно подреждане (по подразбиране: 10)
(Валидно само когато броят на OpenMP нишките е 2 или повече)
RECYCLEPRE I Брой повторни използвания на информацията за настройване на предобуславянето (по подразбиране: 3)
(Валидно само при нелинеен анализ)
(3rd line) RESID, SIGMA_DIAG, SIGMA
Променлива Атрибут Описание
RESID R Грешка от отсичане (по подразбиране: 1.0e-8)
SIGMA_DIAG R Мащабен коефициент, прилаган към диагоналните елементи при изчисляване на матрицата за предобуславяне (по подразбиране: 1.0)
(Ако при ILU предобуславяне възникне деление на нула или разходимост, задачата може да се сближи при задаване на стойност, по-голяма от 1.0)
SIGMA R Не се използва (по подразбиране: 0.0)

Когато PRECOND=5 (незадължително)

Ако за PRECOND е зададена друга стойност, 4-тият ред се игнорира.

(4th line) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Променлива Атрибут Описание
ML_CoarseSolver I Решаващ алгоритъм за грубата мрежа на ML (1: използва изглаждащия алгоритъм, 2: KLU (последователен директен метод), 3: MUMPS (паралелен директен метод)) (по подразбиране: 1)
(Препоръчително: 3 или 2 за трудни задачи, 1 за обикновени задачи)
ML_Smoother I Изглаждащ алгоритъм на ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (по подразбиране: 1)
(Препоръчително: 1)
ML_MGCycle I Многостепенен цикъл на ML (1: V-цикъл, 2: W-цикъл, 3: пълен V-цикъл) (по подразбиране: 1)
(Препоръчително: 2 за трудни задачи, 1 за обикновени задачи)
ML_MaxLevels I Максимален брой нива на ML (по подразбиране: 10)
(За особено трудни задачи използвайте директен решаващ алгоритъм на грубото ниво и 2 нива (или 3, ако паметта е недостатъчна); за обикновени задачи се препоръчват 10)
ML_CoarseningScheme I Схема за огрубяване на ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (по подразбиране: 1)
(Препоръчително: 1 или 5)
ML_NumSweep I Брой проходи на изглаждащия алгоритъм на ML (полиномна степен за Chebyshev) (по подразбиране: 2)
(Препоръчително: 2 за Chebyshev, 1 за SymBlockGaussSeidel)

Примери

Използване на CG със SSOR предобуславяне, като максималният брой итерации е 10000, а грешката от отсичане е 1.0e-8

!SOLVER, METHOD=CG, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Използване на GMRES със SSOR предобуславяне, като броят на подпространствата на Крилов е 40, а целевият брой цветове за многоцветното подреждане е 100

!SOLVER, METHOD=GMRES, PRECOND=1, ITERLOG=YES, TIMELOG=YES
  10000, 1, 40, 100
  1.0e-8, 1.0, 0.0

Използване на CG с ILU(0) предобуславяне, като мащабният коефициент, прилаган към диагоналните елементи при изчисляване на матрицата за предобуславяне, е 1.1

!SOLVER, METHOD=CG, PRECOND=10, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.1, 0.0

Използване на AMG чрез ML като предобуславяне за CG

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0

Използване на AMG чрез ML като предобуславяне за CG и MUMPS като решаващ алгоритъм за грубата мрежа (за трудни задачи)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3

Използване на AMG чрез ML като предобуславяне за CG и W-цикъл като многостепенен цикъл (за трудни задачи)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  1, 1, 2

Използване на AMG чрез ML като предобуславяне за CG, MUMPS като решаващ алгоритъм за грубата мрежа и максимален брой нива 2 (за много трудни задачи)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2
AI-assisted translation May contain errors Official docs Status