Անցնել պարունակությանը

!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, 22)
            1, 2       : բլոկային SSOR (3 ազատության աստիճանով խնդիրների համար՝ բազմագույն դասավորմամբ)
            3          : բլոկային անկյունագծային մասշտաբավորում
            5          : AMG՝ ML բազմացանցային նախապայմանավորման փաթեթով
            10         : բլոկային ILU(0)
            11         : բլոկային ILU(1)
            12         : բլոկային ILU(2)
            22         : AMG՝ HEC-MW-ում ներկառուցված SA-AMG-ով (Smoothed Aggregation AMG)
            10, 11 և 12 արժեքները հասանելի են միայն 3 ազատության աստիճանով խնդիրների համար
            22-ը հասանելի է միայն LAPACK-ը միացված կառուցումներում
            OpenMP թելային զուգահեռացման դեպքում խորհուրդ է տրվում SSOR, Diagonal Scaling, ML կամ SA-AMG

ITERLOG =   Իտերացիոն լուծիչի զուգամիտության պատմության արտածում          (YES/NO)(լռելյայն՝ NO)

TIMELOG =   Լուծիչի հաշվարկման ժամանակի արտածում                (YES/NO/VERBOSE)(լռելյայն՝ NO)

LOGLEVEL =  Նախապայմանավորման ախտորոշիչ տեղեկությունների արտածման մակարդակ (ամբողջ թիվ)(լռելյայն՝ առանց արտածման)
            Սահմանվում է ITERLOG-ից և TIMELOG-ից անկախ
            1 կամ ավելի արժեքի դեպքում արտածվում են AMG նախապայմանավորիչների (PRECOND=5, 22) հիերարխիայի կառուցվածքը և այլ տեղեկություններ
            2 կամ ավելի արժեքի դեպքում արտածվում են նաև ավելի մանրամասն տեղեկություններ (օրինակ՝ հիշողության օգտագործումը)

USEJAD =    Վեկտորային մեքենաների համար դասավորման կիրառում          (YES/NO)(լռելյայն՝ NO)
            Գործում է միայն 3 ազատության աստիճանով խնդիրների իտերացիոն մեթոդների դեպքում

SCALING =   Մատրիցի անկյունագծային տարրերը 1 դարձնող մասշտաբավորում (YES/NO)(լռելյայն՝ NO)
            Գործում է միայն 3 ազատության աստիճանով խնդիրների իտերացիոն մեթոդների դեպքում

DUMPTYPE =  Մատրիցի արտածման ձևաչափ (NONE, MM, CSR, BSR) (հիմնականում վրիպազերծման համար)
            NONE : Չարտածել (լռելյայն)
            MM   : Matrix Market ձևաչափ
            CSR  : սեղմված նոսր տողային (CSR) ձևաչափ
            BSR  : բլոկային CSR ձևաչափ

DUMPEXIT =  Ծրագրի ավարտը մատրիցի արտածումից անմիջապես հետո            (YES/NO)(լռելյայն՝ NO)

MPCMETHOD = Բազմակետ կապանքի պայմանների մշակման եղանակ (1, 3)
            1: Տուգանային մեթոդ (ուղղակի մեթոդի դեպքում լռելյայն)
            3: Ազատության աստիճանների բացահայտ վերացում (իտերացիոն մեթոդի դեպքում լռելյայն)
            Նախկինում հասանելի MPC-CG մեթոդը հեռացվել է. 2 նշելու դեպքում տրվում է նախազգուշացում և կիրառվում է համապատասխան լռելյայն մեթոդը։

ESTCOND =   Պայմանավորվածության թվի գնահատման հաճախականություն (փորձարարական)
            Գնահատումը կատարվում է նշված կրկնությունների ժամանակ և կրկնությունների ավարտին
            0-ի դեպքում գնահատում չի կատարվում

RECOMPUTE_RESIDUAL = Մնացորդային վեկտորի վերահաշվարկման հաճախականությունը
            Գործում է միայն այն դեպքում, երբ METHOD-ի համար նշված է CG, BiCGSTAB, GPBiCG կամ PipeCG
            Իտերացիոն մեթոդները մնացորդային վեկտորը թարմացնում են ռեկուրենտ բանաձևով, ուստի կուտակվում են կլորացման սխալներ
            Նշված յուրաքանչյուր իտերացիոն միջակայքից հետո մնացորդային վեկտորը վերահաշվարկվում է {b}-[A]{x}-ից
            Եթե արժեքը 0 է, օգտագործվում է յուրաքանչյուր մեթոդի լռելյայն արժեքը (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Բացասական արժեք նշելու դեպքում պարբերական վերահաշվարկ չի կատարվում
            Զուգամիտության չափանիշը բավարարվելիս ստուգման նպատակով վերահաշվարկը միշտ կատարվում է՝ անկախ այս կարգավորումից
            Չափազանց կարճ պարբերությունը ոչ միայն մեծացնում է մատրից-վեկտոր արտադրյալների քանակը
            այլ կարող է նաև վատացնել զուգամիտությունը կամ ընդհանրապես խոչընդոտել դրան
            Լռելյայն արժեքը փոխելու դեպքում ստուգեք զուգամիտության պատմությունը և վերջնական հարաբերական մնացորդը

METHOD2 =   Երկրորդ լուծման մեթոդ (BiCGSTAB, GMRES, GPBiCG) (փորձարարական)
            Գործում է միայն երբ METHOD=CG
            Եթե CG մեթոդը տարամիտում է, ավտոմատ անցում է կատարվում այս մեթոդին
            Մնացած պարամետրերը և տվյալների տողերը նույնն են օգտագործվում

CONTACT_ELIM = Կոնտակտային վերլուծության ժամանակ ազատության աստիճանների վերացման կիրառումը (0,1)
               0: Վերացում կատարել միայն իտերացիոն մեթոդի դեպքում (լռելյայն)
               1: Միշտ կատարել վերացում (նաև ուղղակի մեթոդի դեպքում)

** 2-րդ և հաջորդ տողերը **

(2-րդ տող) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Փոփոխականի անուն Հատկանիշ Նկարագրություն
NITER I Կրկնությունների առավելագույն քանակ (լռելյայն՝ 100)
iterPREmax I Additive Schwarz նախապայմանավորման կրկնությունների քանակը (լռելյայն՝ 1)
(խորհուրդ է տրվում 1, զուգահեռ հաշվարկում երբեմն արդյունավետ է 2)
NREST I Krylov ենթատարածության չափը (լռելյայն՝ 10)
(գործում է միայն GMRES լուծման մեթոդի դեպքում)
NCOLOR_IN I Բազմագույն դասավորման նպատակային գույների քանակը (լռելյայն՝ 10)
(գործում է միայն OpenMP-ի 2 կամ ավելի թելի դեպքում)
RECYCLEPRE I Նախապայմանավորման կարգավորման տեղեկատվության վերօգտագործման քանակը (լռելյայն՝ 3)
(գործում է միայն ոչ գծային վերլուծության դեպքում)
(3-րդ տող) RESID, SIGMA_DIAG, SIGMA
Փոփոխականի անուն Հատկանիշ Նկարագրություն
RESID R Դադարեցման սխալը (լռելյայն արժեք՝ 1.0e-8)
SIGMA_DIAG R Նախապայմանավորման մատրիցի հաշվարկի ժամանակ անկյունագծային տարրին կիրառվող գործակիցը (լռելյայն արժեք՝ 1.0)
(եթե ILU նախապայմանավորման դեպքում առաջանում է բաժանում զրոյի կամ տարամիտում, 1.0-ից մեծ արժեքը երբեմն լուծում է խնդիրը)
SIGMA R Չի օգտագործվում (լռելյայն արժեք՝ 0.0)

PRECOND=5 դեպքում (ընտրովի)

Եթե PRECOND-ի համար նշված է 5-ից և 22-ից տարբեր արժեք, 4-րդ տողը անտեսվում է։

(4-րդ տող) 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-cycle, 2՝ W-cycle, 3՝ Full-V-cycle) (լռելյայն՝ 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)
(Chebyshev-ի դեպքում խորհուրդ է տրվում 2, SymBlockGaussSeidel-ի դեպքում՝ 1)

PRECOND=22 դեպքում (ընտրովի)

Եթե PRECOND-ի համար նշված է 22-ից տարբեր արժեք, 5-րդ տողը անտեսվում է։ 4-րդ և 5-րդ տողերից յուրաքանչյուրը կարող է ամբողջությամբ բաց թողնվել, ինչպես նաև կարելի է բաց թողնել տողի վերջի տարրերը։ 0 նշված տարրերի համար օգտագործվում է լռելյայն արժեքը։

4-րդ տողի 1-ից 7-րդ տարրերը դասավորված են նույն հերթականությամբ, ինչ PRECOND=5 (ML) տարբերակի տողում, ուստի ML-ի տարբերակի տողը կարելի է օգտագործել անփոփոխ։ 8-ից 10-րդ տարրերը հատուկ են SA-AMG-ին։

(4-րդ տող) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (չի օգտագործվում), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (չի օգտագործվում)
Փոփոխականի անուն Հատկանիշ Նկարագրություն
SA_CoarseSolver I Կոպիտ ցանցի լուծիչ (0՝ ավտոմատ, 1՝ օգտագործել հարթեցիչը, 2՝ խիտ մատրիցի ուղղակի մեթոդ, 3՝ MUMPS (զուգահեռ ուղղակի մեթոդ)) (լռելյայն՝ 0)
(Ավտոմատ ռեժիմում MUMPS-ը միացված կառուցումներում օգտագործվում է MUMPS, իսկ մնացած դեպքերում՝ խիտ մատրիցի ուղղակի մեթոդը)
SA_Smoother I Հարթեցիչ (0, 1՝ Chebyshev) (լռելյայն՝ 0)
(Աջակցվում է միայն Chebyshev-ը։ Այլ արժեք նշելու դեպքում տրվում է նախազգուշացում և օգտագործվում է Chebyshev-ը)
SA_MGCycle I Բազմացանցային ցիկլ (0՝ լռելյայն (W-cycle), 1՝ V-cycle, 2՝ W-cycle) (լռելյայն՝ 0)
(Full-V-cycle-ը չի աջակցվում)
SA_MaxLevels I Մակարդակների առավելագույն քանակը (լռելյայն՝ 20)
(չի օգտագործվում) I ML-ի կոպտացման սխեմային համապատասխանող դիրքը։ Քանի որ SA-AMG-ը միշտ օգտագործում է չկապակցված ագրեգացում, 0-ից տարբեր արժեքի դեպքում տրվում է նախազգուշացում, և արժեքը անտեսվում է
SA_ChebyDegree I Chebyshev հարթեցիչի բազմանդամի աստիճանը (լռելյայն՝ 2)
SA_CoarseSize I Կոպիտ ցանցի կտրման չափը (լռելյայն՝ 50000, երբ որպես կոպիտ ցանցի լուծիչ օգտագործվում է MUMPS, այլապես՝ 100)
SA_MaxAggSize I Ագրեգատի առավելագույն չափը (լռելյայն՝ 96)
SA_GalerkinLowMem I Կոպիտ ցանցի մատրիցի հաշվարկման եղանակ (0՝ սովորական (արագության առաջնահերթությամբ), դրական արժեք՝ հիշողություն խնայող) (լռելյայն՝ 0)
(Կարգավորման ժամանակ հիշողությունը չբավարարելու դեպքում նշեք դրական արժեք)
(չի օգտագործվում) I Վերապահված է ապագա ընդլայնումների համար

5-րդ տողը նախատեսված է միայն SA-AMG-ի համար և ML-ը չի կարդում այն։

(5-րդ տող) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Փոփոխականի անուն Հատկանիշ Նկարագրություն
SA_Theta R Ուժեղ կապերի որոշման շեմը (լռելյայն՝ 0.0)
(0.0-ի դեպքում մատրիցի ոչ զրոյական կառուցվածքն անմիջապես օգտագործվում է որպես գրաֆ)
SA_ChebyAlpha R Chebyshev հարթեցիչի կողմից մշակվող սեփական արժեքների միջակայքի ստորին սահմանը որոշող հարաբերակցությունը (լռելյայն՝ 20.0)
SA_Safety R Առավելագույն սեփական արժեքի գնահատականին կիրառվող ապահովության գործակիցը (լռելյայն՝ 1.1)
SA_TaperK R Կոպտացման մեղմացման K գործակիցը (լռելյայն՝ 100)
(2-րդ մակարդակից սկսած կոպտացումը մեղմացվում է, որպեսզի մնա առնվազն մոտ K ագրեգատ։ Բացասական արժեքը անջատում է մեղմացումը)
SA_AggOrder R Ագրեգացման անցման կարգը (0՝ լռելյայն (BFS կարգ), 1՝ BFS կարգ, 2՝ հանգույցների համարների հեշային կարգ (փորձարարական), 3՝ աստիճանի աճման կարգ (փորձարարական), 4՝ աստիճանի նվազման կարգ (փորձարարական), բացասական արժեք՝ հանգույցների համարների կարգ) (լռելյայն՝ 0)
SA_MinAggSize R Ագրեգատի նվազագույն չափը (լռելյայն՝ 3)
SA_Verify R Կարգավորման ժամանակ ինքնաստուգում կատարել, թե ոչ (0՝ չկատարել, դրական արժեք՝ կատարել) (լռելյայն՝ 0) (հիմնականում վրիպազերծման համար)
SA_DumpVTK R Ամենաբարձր մակարդակի ագրեգացումը VTK ձևաչափով արտածել, թե ոչ (0՝ չարտածել, դրական արժեք՝ արտածել) (լռելյայն՝ 0) (հիմնականում վրիպազերծման համար)

Օգտագործման օրինակներ

Օգտագործել 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 նախապայմանավորմամբ, Krylov ենթատարածության չափը սահմանել 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

CG մեթոդի նախապայմանավորման համար օգտագործել ML-ի AMG մեթոդը։

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

CG մեթոդի նախապայմանավորման համար օգտագործել ML-ի AMG մեթոդը և կոպիտ ցանցի լուծիչը սահմանել MUMPS (դժվար լուծվող խնդիրների համար)։

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

CG մեթոդի նախապայմանավորման համար օգտագործել ML-ի AMG մեթոդը և բազմացանցային ցիկլը սահմանել W-cycle (դժվար լուծվող խնդիրների համար)։

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

CG մեթոդի նախապայմանավորման համար օգտագործել ML-ի AMG մեթոդը, կոպիտ ցանցի լուծիչը սահմանել MUMPS, իսկ առավելագույն մակարդակների քանակը՝ 2 (շատ դժվար լուծվող խնդիրների համար)։

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

CG-ի նախապայմանավորման համար օգտագործել HEC-MW-ում ներկառուցված SA-AMG-ը։

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

CG-ի նախապայմանավորման համար օգտագործել SA-AMG-ը, իսկ կոպիտ ցանցի լուծիչը սահմանել MUMPS։

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

Շփմամբ կոնտակտային վերլուծության դեպքում BiCGSTAB-ի նախապայմանավորման համար օգտագործել SA-AMG-ը և արտածել AMG նախապայմանավորիչի հիերարխիան։

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