!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, ዲያጎናል ስኬሊንግ, 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 : ማትሪክስ ማርኬት ቅርጸት
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ኛው መስመር ጀምሮ
| የተለዋዋጭ ስም | አይነት | መግለጫ |
|---|---|---|
| NITER | I | የድግግሞሽ ከፍተኛ ብዛት (ነባሪ: 100) |
| iterPREmax | I | በአዲቲቭ ሽዋርዝ ፕሪኮንዲሽኒንግ የመደጋገም ብዛት (ነባሪ: 1) (የሚመከረው 1 ነው፤ በትይዩ ስሌት 2 ጠቃሚ ሊሆን ይችላል) |
| NREST | I | የክሪሎቭ ንዑስ ቦታ መጠን (ነባሪ: 10) (GMRES ሲመረጥ ብቻ ይሰራል) |
| NCOLOR_IN | I | በባለብዙ-ቀለም ቅደም-ተከተል የታለመ የቀለም ብዛት (ነባሪ: 10) (የOpenMP ክሮች ብዛት 2 ወይም ከዚያ በላይ ሲሆን ብቻ ይሰራል) |
| RECYCLEPRE | I | የፕሪኮንዲሽኒንግ ማዋቀር መረጃ የሚደገምበት ብዛት (ነባሪ: 3) (በመስመራዊ-ያልሆነ ትንተና ብቻ ይሰራል) |
| የተለዋዋጭ ስም | አይነት | መግለጫ |
|---|---|---|
| RESID | R | የማቋረጫ ስህተት (ነባሪ: 1.0e-8) |
| SIGMA_DIAG | R | የፕሪኮንዲሽኒንግ ማትሪክስ ሲሰላ በዲያጎናል አባላት ላይ የሚባዛ እሴት (ነባሪ: 1.0) (ILU ፕሪኮንዲሽኒንግ ላይ በዜሮ ማካፈል ወይም አለመሰብሰብ ካለ ከ1.0 የሚበልጥ እሴት መስጠት ችግሩን ሊፈታ ይችላል) |
| SIGMA | R | ጥቅም ላይ አይውልም (ነባሪ: 0.0) |
PRECOND=5 ሲሆን (አማራጭ)¶
ለPRECOND ከ5 እና 22 ሌላ እሴት ከተሰጠ 4ኛው መስመር ችላ ይባላል።
| የተለዋዋጭ ስም | አይነት | መግለጫ |
|---|---|---|
| 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) (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 | የኮርስ-ግሪድ ማቋረጫ መጠን (ነባሪ: MUMPS እንደ ኮርስ-ግሪድ ሶልቨር ሲጠቀም 50000፣ ካልሆነ 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 ያዘጋጃል
GMRES ዘዴ ከSSOR ፕሪኮንዲሽኒንግ ጋር ተጠቅሞ፣ የክሪሎቭ ንዑስ ቦታ 40 እና የባለብዙ-ቀለም ቅደም-ተከተል የታለመ ቀለም ብዛት 100 ያዘጋጃል
CG ዘዴ ከILU(0) ፕሪኮንዲሽኒንግ ጋር ተጠቅሞ፣ የፕሪኮንዲሽኒንግ ማትሪክስ የዲያጎናል አባዢን 1.1 ያዘጋጃል
ለCG ዘዴ በML ላይ የተመሰረተ AMG ፕሪኮንዲሽኒንግ ይጠቀማል
ለCG ዘዴ በML ላይ የተመሰረተ AMG ፕሪኮንዲሽኒንግ ተጠቅሞ ኮርስ-ግሪድ ሶልቨርን MUMPS ያደርጋል (ለአስቸጋሪ ችግሮች)
ለCG ዘዴ በML ላይ የተመሰረተ AMG ፕሪኮንዲሽኒንግ ተጠቅሞ ብዙ-ፍርግርግ ዑደትን W-ሳይክል ያደርጋል (ለአስቸጋሪ ችግሮች)
ለCG ዘዴ በML ላይ የተመሰረተ AMG ፕሪኮንዲሽኒንግ ተጠቅሞ ኮርስ-ግሪድ ሶልቨርን MUMPS እና ከፍተኛ ደረጃ ብዛትን 2 ያደርጋል (ለበጣም አስቸጋሪ ችግሮች)
ለCG ዘዴ በHEC-MW ውስጥ የተገነባ SA-AMG ፕሪኮንዲሽነር ይጠቀማል
ለCG ዘዴ SA-AMG ፕሪኮንዲሽነር ተጠቅሞ ኮርስ-ግሪድ ሶልቨርን MUMPS ያደርጋል
በፍሪክሽን ንክኪ ትንተና ለBiCGSTAB ዘዴ SA-AMG ፕሪኮንዲሽነር ተጠቅሞ የAMG ፕሪኮንዲሽነር የደረጃ መዋቅር ያወጣል