Pāriet uz saturu

!SOLVER

Risinātāja vadība

Obligāti vadības dati.

Parametri

METHOD =    Risināšanas metode (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Tiešā metode, izņemot kontakta analīzi (tikai secīga apstrāde) (pašlaik nav pieejama)
            DIRECTmkl  : Tiešā metode, izmantojot Intel MKL
            MUMPS      : Tiešā metode, izmantojot MUMPS
            Izvēloties tiešo metodi, datu rindas tiek ignorētas.
            Iteratīvajām metodēm 3 brīvības pakāpju uzdevumos ir pieejama pavedienu paralelizācija ar OpenMP

PRECOND =   Iteratīvās metodes priekšnosacīšanas metode (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : (Block) SSOR (ar daudzkrāsu kārtošanu tikai 3 brīvības pakāpju uzdevumiem)
            3          : (Block) Diagonal Scaling
            5          : AMG, izmantojot daudzrežģu priekšnosacīšanas pakotni ML
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            22         : AMG ar HEC-MW iebūvēto SA-AMG (Smoothed Aggregation AMG)
            10, 11, 12 ir pieejami tikai 3 brīvības pakāpju uzdevumiem
            22 ir pieejams tikai būvējumos ar iespējotu LAPACK
            OpenMP pavedienu paralēlajai izpildei ieteicams SSOR, diagonālā mērogošana, ML vai SA-AMG

ITERLOG =   Vai izvadīt iteratīvā risinātāja konverģences vēsturi          (YES/NO)(noklusējums: NO)

TIMELOG =   Vai izvadīt risinātāja aprēķina laiku                          (YES/NO/VERBOSE)(noklusējums: NO)

LOGLEVEL =  Priekšnosacīšanas diagnostikas informācijas izvades līmenis                (vesels skaitlis)(noklusējums: bez izvades)
            Norāda neatkarīgi no ITERLOG un TIMELOG
            Ja vērtība ir 1 vai lielāka, tiek izvadīta, cita starpā, AMG priekšnosacīšanas hierarhijas uzbūve (PRECOND=5, 22)
            Ja vērtība ir 2 vai lielāka, tiek izvadīta papildu detalizēta informācija (piemēram, atmiņas lietojums)

USEJAD =    Vai izmantot kārtošanu vektoru datoriem                         (YES/NO)(noklusējums: NO)
            Derīgs tikai tad, ja 3 brīvības pakāpju uzdevumā tiek izmantota iteratīvā metode

SCALING =   Vai mērogot matricu tā, lai diagonāles elementi būtu 1          (YES/NO)(noklusējums: NO)
            Derīgs tikai tad, ja 3 brīvības pakāpju uzdevumā tiek izmantota iteratīvā metode

DUMPTYPE =  Matricas izmetes formāts (NONE, MM, CSR, BSR) (galvenokārt atkļūdošanai)
            NONE : Neveikt izmeti (noklusējums)
            MM   : Matrix Market formāts
            CSR  : Compressed Sparse Row (CSR) formāts
            BSR  : Blocked CSR formāts

DUMPEXIT =  Pabeigt programmu uzreiz pēc matricas izmetes                    (YES/NO)(noklusējums: NO)

MPCMETHOD = Daudzpunktu ierobežojumu apstrādes metode (1, 3)
            1: Soda metode (noklusējums, izmantojot tiešo metodi)
            3: Eksplicīta brīvības pakāpju eliminēšana (noklusējums, izmantojot iteratīvo metodi)
            MPC-CG metode (2) ir noņemta. Ja norāda 2, tiek izvadīts brīdinājums un izmantota noklusējuma metode.

ESTCOND =   Nosacījuma skaitļa novērtēšanas biežums (eksperimentāls)
            Nosacījuma skaitlis tiek novērtēts ik pēc norādītā iterāciju skaita un iterāciju beigās
            Ja norādīts 0, novērtēšana netiek veikta

RECOMPUTE_RESIDUAL = Atlikuma vektora pārrēķināšanas biežums
            Derīgs tikai tad, ja METHOD ir norādīts CG, BiCGSTAB, GPBiCG vai PipeCG
            Iteratīvās metodes atjaunina atlikuma vektoru ar rekurentu sakarību, tāpēc uzkrājas noapaļošanas kļūdas
            Katrā norādītajā iterāciju intervālā atlikuma vektors tiek pārrēķināts no {b}-[A]{x}
            Ja norādīts 0, tiek izmantota katras metodes noklusējuma vērtība (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Ja norādīta negatīva vērtība, periodiska pārrēķināšana netiek veikta
            Pārrēķināšana konverģences kritērija izpildes apstiprināšanai vienmēr tiek veikta neatkarīgi no šī iestatījuma
            Ja periods ir pārāk īss, palielinās ne tikai matricas-vektora reizinājumu skaits
            bet var pasliktināties pati konverģence vai konverģence var tikt zaudēta
            Ja maināt noklusējuma vērtību, pārbaudiet konverģences vēsturi un galīgo relatīvo atlikumu

METHOD2 =   Otrā risināšanas metode (BiCGSTAB, GMRES, GPBiCG) (eksperimentāls)
            Derīgs tikai tad, ja METHOD norādīts CG
            Ja CG diverģē, automātiski pārslēdzas uz otro metodi un turpina risināšanu
            Pārējiem parametriem un datu rindām izmanto tās pašas vērtības

CONTACT_ELIM = Norāda, vai kontakta analīzē veikt brīvības pakāpju eliminēšanu (0,1)
               0: Veikt brīvības pakāpju eliminēšanu tikai ar iteratīvo metodi (noklusējums)
               1: Vienmēr veikt brīvības pakāpju eliminēšanu (arī izmantojot tiešo metodi)

** Sākot ar 2. rindu **

(2. rinda) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Mainīgā nosaukums Atribūts Apraksts
NITER I Iterāciju skaits (noklusējums: 100)
iterPREmax I aditīvās Švarca priekšnosacīšanas atkārtojumu skaits (noklusējums: 1)
(ieteicamā vērtība ir 1; paralēlajos aprēķinos dažkārt efektīva ir 2)
NREST I Krilova apakštelpas izmērs (noklusējums: 10)
(derīgs tikai tad, ja par risināšanas metodi izvēlēts GMRES)
NCOLOR_IN I Mērķa krāsu skaits daudzkrāsu kārtošanā (noklusējums: 10)
(derīgs tikai tad, ja OpenMP pavedienu skaits ir vismaz 2)
RECYCLEPRE I Priekšnosacītāja iestatīšanas informācijas atkārtotas izmantošanas reižu skaits (noklusējums: 3)
(derīgs tikai nelineārā analīzē)
(3. rinda) RESID, SIGMA_DIAG, SIGMA
Mainīgā nosaukums Atribūts Apraksts
RESID R Pārtraukšanas kļūda (noklusējuma vērtība: 1.0e-8)
SIGMA_DIAG R Reizinātājs, ko piemēro diagonāles elementiem, aprēķinot priekšnosacīšanas matricu (noklusējuma vērtība: 1.0)
(ja ar ILU priekšnosacīšanu rodas dalīšana ar nulli vai diverģence, uzdevumu dažkārt var atrisināt, norādot vērtību, kas lielāka par 1.0)
SIGMA R Netiek izmantots (noklusējuma vērtība: 0.0)

Ja PRECOND=5 (neobligāti)

Ja PRECOND ir iestatīta vērtība, kas nav 5 vai 22, 4. rinda tiek ignorēta.

(4. rinda) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Mainīgā nosaukums Atribūts Apraksts
ML_CoarseSolver I ML rupjā režģa risinātājs (1: aizstāt ar izlīdzinātāju, 2: KLU (secīga tiešā metode), 3: MUMPS (paralēla tiešā metode)) (noklusējuma vērtība: 1)
(ieteicams: 3 vai 2 grūti risināmiem uzdevumiem, 1 parastiem uzdevumiem)
ML_Smoother I ML izlīdzinātājs (1: Čebiševa, 2: SymBlockGaussSeidel, 3: Jakobi) (noklusējuma vērtība: 1)
(ieteicamā vērtība ir 1)
ML_MGCycle I ML daudzrežģu cikls (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (noklusējuma vērtība: 1)
(ieteicams: 2 grūti risināmiem uzdevumiem, 1 parastiem uzdevumiem)
ML_MaxLevels I ML maksimālais līmeņu skaits (noklusējuma vērtība: 10)
(īpaši grūti risināmiem uzdevumiem ieteicams izmantot tiešo metodi kā rupjā režģa risinātāju un 2 (vai 3, ja nepietiek atmiņas); parastiem uzdevumiem 10)
ML_CoarseningScheme I ML rupjināšanas shēma (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (noklusējuma vērtība: 1)
(ieteicamā vērtība ir 1 vai 5)
ML_NumSweep I ML izlīdzinātāja pārgājienu skaits (Čebiševa gadījumā polinoma pakāpe) (noklusējuma vērtība: 2)
(ieteicams: 2 Čebiševa gadījumā, 1 SymBlockGaussSeidel gadījumā)

Ja PRECOND=22 (neobligāti)

Ja PRECOND ir iestatīta vērtība, kas nav 22, 5. rinda tiek ignorēta. Gan 4., gan 5. rindu var pilnībā izlaist, un var izlaist arī katras rindas beigu elementus. Katram elementam, kas norādīts kā 0, tiek izmantota noklusējuma vērtība.

Ceturtās rindas elementi no 1 līdz 7 ir tādā pašā secībā kā PRECOND=5 (ML) opciju rindā, tādēļ ML opciju rindu var izmantot atkārtoti bez izmaiņām. Elementi no 8 līdz 10 ir raksturīgi SA-AMG.

(4. rinda) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (netiek izmantots), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (netiek izmantots)
Mainīgā nosaukums Atribūts Apraksts
SA_CoarseSolver I Rupjā režģa risinātājs (0: automātiski, 1: izmantot izlīdzinātāju, 2: blīvas matricas tiešā metode, 3: MUMPS (paralēlā tiešā metode)) (noklusējuma vērtība: 0)
(Automātiskajā režīmā MUMPS izmanto būvējumos ar iespējotu MUMPS; pretējā gadījumā izmanto blīvas matricas tiešo metodi)
SA_Smoother I Izlīdzinātājs (0 vai 1: Čebiševa) (noklusējuma vērtība: 0)
(Tiek atbalstīts tikai Čebiševa. Ja norādīta cita vērtība, tiek izvadīts brīdinājums un izmantots Čebiševa)
SA_MGCycle I Daudzrežģu cikls (0: noklusējums (W-cikls), 1: V-cikls, 2: W-cikls) (noklusējuma vērtība: 0)
(Pilns V-cikls netiek atbalstīts)
SA_MaxLevels I Maksimālais līmeņu skaits (noklusējuma vērtība: 20)
(netiek izmantots) I Pozīcija, kas atbilst ML rupjināšanas shēmai. Tā kā SA-AMG vienmēr izmanto nesaistītu agregāciju, vērtība, kas nav 0, izraisa brīdinājumu un tiek ignorēta
SA_ChebyDegree I Čebiševa izlīdzinātāja polinoma pakāpe (noklusējuma vērtība: 2)
SA_CoarseSize I Rupjā režģa nogriešanas izmērs (noklusējuma vērtība: 50000, ja MUMPS izmanto kā rupjā režģa risinātāju; pretējā gadījumā 100)
SA_MaxAggSize I Maksimālais agregāta izmērs (noklusējuma vērtība: 96)
SA_GalerkinLowMem I Rupjā režģa matricas aprēķina metode (0: parasta (priekšroka ātrumam), pozitīva vērtība: atmiņas taupīšana) (noklusējuma vērtība: 0)
(Norādiet pozitīvu vērtību, ja iestatīšanas laikā nepietiek atmiņas)
(netiek izmantots) I Rezervēts turpmākiem paplašinājumiem

Piektā rinda ir paredzēta tikai SA-AMG, un ML to nelasa.

(5. rinda) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Mainīgā nosaukums Atribūts Apraksts
SA_Theta R Slieksnis stipru savienojumu noteikšanai (noklusējuma vērtība: 0.0)
(Ja vērtība ir 0.0, matricas nenulles struktūra tiek izmantota tieši kā grafs)
SA_ChebyAlpha R Attiecība, kas nosaka Čebiševa izlīdzinātāja mērķa īpašvērtību intervāla apakšējo robežu (noklusējuma vērtība: 20.0)
SA_Safety R Drošības koeficients, ko piemēro novērtētajai maksimālajai īpašvērtībai (noklusējuma vērtība: 1.1)
SA_TaperK R Rupjināšanas pakāpeniskuma koeficients K (noklusējuma vērtība: 100)
(Sākot ar 2. līmeni, rupjināšana tiek veikta pakāpeniskāk, lai paliktu vismaz aptuveni K agregāti. Negatīva vērtība pakāpeniskumu atspējo)
SA_AggOrder R Agregācijas pārmeklēšanas secība (0: noklusējums (BFS secība), 1: BFS secība, 2: mezglu numuru jaucējsecība (eksperimentāli), 3: pakāpes augoša secība (eksperimentāli), 4: pakāpes dilstoša secība (eksperimentāli), negatīva vērtība: mezglu numuru secība) (noklusējuma vērtība: 0)
SA_MinAggSize R Minimālais agregāta izmērs (noklusējuma vērtība: 3)
SA_Verify R Vai iestatīšanas laikā veikt pašpārbaudi (0: nē, pozitīva vērtība: jā) (noklusējuma vērtība: 0) (galvenokārt atkļūdošanai)
SA_DumpVTK R Vai izvadīt augstākā līmeņa agregāciju VTK formātā (0: bez izvades, pozitīva vērtība: izvadīt) (noklusējuma vērtība: 0) (galvenokārt atkļūdošanai)

Lietošanas piemērs

Izmantot CG metodi ar SSOR priekšnosacīšanu, iestatot maksimālo iterāciju skaitu 10000 un pārtraukšanas kļūdu 1.0e-8

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

Izmantot GMRES metodi ar SSOR priekšnosacīšanu, iestatot Krilova apakštelpas izmēru 40 un daudzkrāsu kārtošanas mērķa krāsu skaitu 100

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

Izmantot CG metodi ar ILU(0) priekšnosacīšanu un iestatīt reizinātāju, ko priekšnosacīšanas matricas aprēķinā piemēro diagonāles elementiem, uz 1.1

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

CG metodes priekšnosacīšanai izmantot AMG metodi ar ML

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

CG metodes priekšnosacīšanai izmantot AMG metodi ar ML un par rupjā režģa risinātāju izmantot MUMPS (grūti risināmiem uzdevumiem)

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

CG metodes priekšnosacīšanai izmantot AMG metodi ar ML un daudzrežģu ciklam izmantot W-cycle (grūti risināmiem uzdevumiem)

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

CG metodes priekšnosacīšanai izmantot AMG metodi ar ML, par rupjā režģa risinātāju izmantot MUMPS un maksimālo līmeņu skaitu iestatīt uz 2 (ļoti grūti risināmiem uzdevumiem)

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

Izmantojiet HEC-MW iebūvēto SA-AMG kā CG priekšnosacītāju

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

Izmantojiet SA-AMG kā CG priekšnosacītāju un MUMPS kā rupjā režģa risinātāju

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

Berzes kontakta analīzē izmantojiet BiCGSTAB ar SA-AMG priekšnosacīšanu un izvadiet AMG priekšnosacītāja hierarhijas uzbūvi

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