Skip to content

!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ኛው መስመር ጀምሮ

(2ኛ መስመር) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
የተለዋዋጭ ስም አይነት መግለጫ
NITER I የድግግሞሽ ከፍተኛ ብዛት (ነባሪ: 100)
iterPREmax I በአዲቲቭ ሽዋርዝ ፕሪኮንዲሽኒንግ የመደጋገም ብዛት (ነባሪ: 1)
(የሚመከረው 1 ነው፤ በትይዩ ስሌት 2 ጠቃሚ ሊሆን ይችላል)
NREST I የክሪሎቭ ንዑስ ቦታ መጠን (ነባሪ: 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-ሳይክል, 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 ያዘጋጃል

!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

ለ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-ሳይክል ያደርጋል (ለአስቸጋሪ ችግሮች)

!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