Skip to content

!SOLVER

Udhibiti wa kitatuzi

Data ya udhibiti inayohitajika.

Vigezo

METHOD =    Mbinu ya utatuzi (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Mbinu ya moja kwa moja isipokuwa katika uchanganuzi wa mgusano (uchakataji wa mfululizo pekee) (haipatikani kwa sasa)
            DIRECTmkl  : Mbinu ya moja kwa moja kwa kutumia Intel MKL
            MUMPS      : Mbinu ya moja kwa moja kwa kutumia MUMPS
            Mistari ya data hupuuzwa ikiwa mbinu ya moja kwa moja imechaguliwa.
            Mbinu za kurudia kwa matatizo yenye DOF 3 zinaweza kutumia usambamba wa nyuzi wa OpenMP

PRECOND =   Mbinu ya utayarishaji awali kwa kitatuzi cha kurudia (1, 2, 3, 5, 10, 11, 12, 22)
            1, 2       : (Block) SSOR (upangaji wa rangi nyingi kwa matatizo ya DOF 3 pekee)
            3          : (Block) Diagonal Scaling
            5          : AMG kwa kutumia kifurushi cha utayarishaji awali cha multigrid ML
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            22         : AMG kwa kutumia SA-AMG iliyojengewa ndani ya HEC-MW (AMG ya ukusanyishaji uliolainishwa)
            10, 11 na 12 zinapatikana kwa matatizo ya DOF 3 pekee
            22 inapatikana tu katika matoleo yaliyoundwa huku LAPACK ikiwa imewezeshwa
            Kwa usambamba wa nyuzi wa OpenMP, SSOR, Diagonal Scaling, ML au SA-AMG zinapendekezwa

ITERLOG =   Kama kutoa historia ya konverjensi ya kitatuzi cha kurudia (YES/NO) (chaguo-msingi: NO)

TIMELOG =   Kama kutoa muda wa ukokotoaji wa kitatuzi (YES/NO/VERBOSE) (chaguo-msingi: NO)

LOGLEVEL =  Kiwango cha utoaji wa taarifa za uchunguzi za kitayarishaji awali (namba kamili)(chaguo-msingi: hakuna utoaji)
            Hubainishwa bila kutegemea ITERLOG na TIMELOG
            Kwa 1 au zaidi, uundaji wa ngazi na taarifa nyingine za vitayarishaji awali vya aina ya AMG (PRECOND=5,22) hutolewa
            Kwa 2 au zaidi, taarifa za kina zaidi pia hutolewa (kama matumizi ya kumbukumbu)

USEJAD =    Kama kutumia upangaji kwa mashine za vekta (YES/NO) (chaguo-msingi: NO)
            Inatumika tu kwa mbinu ya kurudia katika matatizo ya DOF 3

SCALING =   Kama kufanya urekebishaji wa mizani ili vipengele vya diagonal vya matriki viwe 1 (YES/NO) (chaguo-msingi: NO)
            Inatumika tu kwa mbinu ya kurudia katika matatizo ya DOF 3

DUMPTYPE =  Muundo wa kutupa matriki (NONE, MM, CSR, BSR) (hasa kwa utatuzi wa hitilafu)
            NONE : Usitupe data (chaguo-msingi)
            MM   : Muundo wa Matrix Market
            CSR  : Muundo wa Compressed Sparse Row (CSR)
            BSR  : Muundo wa Blocked CSR

DUMPEXIT =  Kumaliza programu mara tu baada ya kutupa matriki (YES/NO) (chaguo-msingi: NO)

MPCMETHOD = Mbinu ya kushughulikia vizuizi vya nukta nyingi (1, 3)
            1: Mbinu ya adhabu (chaguo-msingi wakati mbinu ya moja kwa moja inatumika)
            3: Uondoaji dhahiri wa DOF (chaguo-msingi wakati mbinu ya kurudia inatumika)
            Mbinu ya MPC-CG iliyokuwa ikipatikana awali imeondolewa; 2 ikibainishwa, onyo hutolewa na mbinu husika ya chaguo-msingi hutumika.

ESTCOND =   Marudio ya ukadiriaji wa nambari ya hali (ya majaribio)
            Nambari ya hali hukadiriwa kila baada ya idadi iliyobainishwa ya marudio na mwishoni mwa marudio
            Hakuna ukadiriaji ikiwa thamani ni 0

RECOMPUTE_RESIDUAL = Marudio ya kukokotoa upya vekta ya masalio
            Inatumika tu ikiwa CG, BiCGSTAB, GPBiCG au PipeCG imebainishwa katika METHOD
            Mbinu za kurudia husasisha vekta ya masalio kwa uhusiano wa kujirudia, hivyo makosa ya kuzungusha hujilimbikiza
            Baada ya kila idadi iliyobainishwa ya iteresheni, vekta ya masalio hukokotolewa upya kutoka {b}-[A]{x}
            Ikiwa thamani ni 0, chaguo-msingi ya kila mbinu hutumika (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Ikiwa thamani hasi imebainishwa, ukokotoaji upya wa mara kwa mara haufanywi
            Ukokotoaji upya wa kuthibitisha konverjensi hufanywa kila mara bila kujali mpangilio huu
            Kipindi kikiwa kifupi kupita kiasi, si tu kwamba zidisho za matriki na vekta huongezeka
            bali konverjensi yenyewe inaweza kuharibika au suluhisho likashindwa kufikia konverjensi
            Ukibadilisha kutoka chaguo-msingi, kagua historia ya konverjensi na masalio ya uwiano ya mwisho

METHOD2 =   Mbinu ya pili ya utatuzi (BiCGSTAB, GMRES, GPBiCG) (ya majaribio)
            Inatumika tu ikiwa CG imebainishwa katika METHOD
            Hubadilika kiotomatiki na kuendelea kutatua ikiwa mbinu ya CG inakengeuka
            Vigezo vingine na taarifa za mistari ya data hutumika bila kubadilishwa

CONTACT_ELIM = Kama kuondoa DOF katika uchanganuzi wa mgusano (0,1)
               0: Ondoa DOF wakati mbinu ya kurudia inatumika pekee (chaguo-msingi)
               1: Ondoa DOF kila mara (pia wakati mbinu ya moja kwa moja inatumika)

** Mstari wa 2 na kuendelea **

(mstari wa 2) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Jina la kigeu Sifa Maelezo
NITER I Idadi ya marudio (chaguo-msingi: 100)
iterPREmax I Idadi ya marudio ya utayarishaji awali kwa Additive Schwarz (chaguo-msingi: 1)
(thamani inayopendekezwa ni 1; katika ukokotoaji sambamba 2 inaweza kuwa na ufanisi)
NREST I Idadi ya nafasi ndogo za Krylov (chaguo-msingi: 10)
(inatumika tu ikiwa GMRES imechaguliwa kama mbinu ya utatuzi)
NCOLOR_IN I Idadi lengwa ya rangi katika upangaji wa rangi nyingi (chaguo-msingi: 10)
(inatumika tu ikiwa idadi ya nyuzi za OpenMP ni 2 au zaidi)
RECYCLEPRE I Idadi ya mara za kutumia tena taarifa za usanidi wa utayarishaji awali (chaguo-msingi: 3)
(inatumika tu kwa uchanganuzi usio wa mstari)
(mstari wa 3) RESID, SIGMA_DIAG, SIGMA
Jina la kigeu Sifa Maelezo
RESID R Kosa la kusimamisha (chaguo-msingi: 1.0e-8)
SIGMA_DIAG R Kizidishi kinachotumika kwa vipengele vya diagonal wakati wa kukokotoa matriki ya utayarishaji awali (chaguo-msingi: 1.0)
(ikiwa mgawanyo kwa sifuri au kukengeuka kunatokea kwa utayarishaji awali wa ILU, thamani kubwa kuliko 1.0 inaweza kuwezesha utatuzi)
SIGMA R Haitumiki (chaguo-msingi: 0.0)

Wakati PRECOND=5 (hiari)

Ikiwa PRECOND imepewa thamani tofauti na 5 au 22, mstari wa 4 hupuuzwa.

(mstari wa 4) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Jina la kigeu Sifa Maelezo
ML_CoarseSolver I Kitatuzi cha gridi korofi cha ML (1: tumia smoother, 2: KLU (mbinu ya moja kwa moja ya mfululizo), 3: MUMPS (mbinu ya moja kwa moja sambamba)) (chaguo-msingi: 1)
(3 au 2 inapendekezwa kwa matatizo magumu, 1 kwa matatizo ya kawaida)
ML_Smoother I Smoother ya ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (chaguo-msingi: 1)
(1 inapendekezwa)
ML_MGCycle I Mzunguko wa multigrid wa ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (chaguo-msingi: 1)
(2 inapendekezwa kwa matatizo magumu, 1 kwa matatizo ya kawaida)
ML_MaxLevels I Idadi ya juu ya viwango vya ML (chaguo-msingi: 10)
(kwa matatizo magumu sana, tumia kitatuzi cha moja kwa moja cha gridi korofi na viwango 2, au 3 ikiwa kumbukumbu haitoshi; kwa kawaida 10)
ML_CoarseningScheme I Mpango wa kufanya gridi kuwa korofi wa ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (chaguo-msingi: 1)
(1 au 5 inapendekezwa)
ML_NumSweep I Idadi ya sweeps za smoother ya ML (kwa Chebyshev ni daraja la polinomu) (chaguo-msingi: 2)
(2 inapendekezwa kwa Chebyshev, 1 kwa SymBlockGaussSeidel)

Wakati PRECOND=22 (hiari)

Ikiwa PRECOND imepewa thamani tofauti na 22, mstari wa 5 hupuuzwa. Mstari wa 4 na wa 5 unaweza kuachwa kabisa, na vipengee vya mwisho kwenye kila mstari vinaweza pia kuachwa. Thamani chaguo-msingi hutumiwa kwa kipengee chochote kilichopewa thamani 0.

Vipengee vya 1 hadi 7 kwenye mstari wa 4 vimepangwa kwa mpangilio sawa na mstari wa chaguo wa PRECOND=5 (ML), hivyo mstari wa chaguo wa ML unaweza kutumiwa tena bila kubadilishwa. Vipengee vya 8 hadi 10 ni maalumu kwa SA-AMG.

(mstari wa 4) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (haitumiki), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (haitumiki)
Jina la kigeu Sifa Maelezo
SA_CoarseSolver I Kitatuzi cha gridi korofi (0: kiotomatiki, 1: tumia kilainishaji, 2: mbinu ya moja kwa moja ya matriki mnene, 3: MUMPS (mbinu ya moja kwa moja sambamba)) (chaguo-msingi: 0)
(Katika hali ya kiotomatiki, MUMPS hutumiwa katika matoleo yaliyoundwa huku MUMPS ikiwa imewezeshwa; vinginevyo mbinu ya moja kwa moja ya matriki mnene hutumiwa)
SA_Smoother I Kilainishaji (0, 1: Chebyshev) (chaguo-msingi: 0)
(Chebyshev pekee ndiyo inayotumika. Thamani nyingine ikibainishwa, onyo hutolewa na Chebyshev hutumiwa)
SA_MGCycle I Mzunguko wa multigrid (0: chaguo-msingi (W-cycle), 1: V-cycle, 2: W-cycle) (chaguo-msingi: 0)
(Full-V-cycle haitumiki)
SA_MaxLevels I Idadi ya juu ya viwango (chaguo-msingi: 20)
(haitumiki) I Nafasi inayolingana na mpango wa kufanya gridi kuwa korofi wa ML. Kwa kuwa SA-AMG hutumia kila mara ukusanyishaji usiounganishwa, thamani isiyo 0 hutoa onyo na hupuuzwa
SA_ChebyDegree I Daraja la polinomu la kilainishaji cha Chebyshev (chaguo-msingi: 2)
SA_CoarseSize I Ukubwa wa kikomo wa gridi korofi (chaguo-msingi: 50000 wakati MUMPS inatumika kama kitatuzi cha gridi korofi; vinginevyo 100)
SA_MaxAggSize I Ukubwa wa juu wa agregati (chaguo-msingi: 96)
SA_GalerkinLowMem I Mbinu ya kukokotoa matriki ya gridi korofi (0: kawaida (hutanguliza kasi), thamani chanya: kuokoa kumbukumbu) (chaguo-msingi: 0)
(Bainisha thamani chanya ikiwa kumbukumbu haitoshi wakati wa usanidi)
(haitumiki) I Imehifadhiwa kwa upanuzi wa baadaye

Mstari wa 5 ni maalumu kwa SA-AMG na hausomwi na ML.

(mstari wa 5) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Jina la kigeu Sifa Maelezo
SA_Theta R Kizingiti cha kubainisha miunganisho yenye nguvu (chaguo-msingi: 0.0)
(Kwa 0.0, muundo usio na sufuri wa matriki hutumiwa moja kwa moja kama grafu)
SA_ChebyAlpha R Uwiano unaobainisha mpaka wa chini wa kipindi cha thamani eigeni kinacholengwa na kilainishaji cha Chebyshev (chaguo-msingi: 20.0)
SA_Safety R Kigezo cha usalama kinachotumika kwa makadirio ya thamani eigeni ya juu zaidi (chaguo-msingi: 1.1)
SA_TaperK R Mgawo K wa kupunguza kasi ya kufanya gridi kuwa korofi (chaguo-msingi: 100)
(Kuanzia kiwango cha 2, ukorofishaji hufanywa taratibu zaidi ili angalau takribani agregati K zibaki. Thamani hasi huzima upunguzaji huo wa kasi)
SA_AggOrder R Mpangilio wa upitaji wa ukusanyishaji (0: chaguo-msingi (mpangilio wa BFS), 1: mpangilio wa BFS, 2: mpangilio wa hash wa nambari za nodi (wa majaribio), 3: mpangilio wa daraja linaloongezeka (wa majaribio), 4: mpangilio wa daraja linalopungua (wa majaribio), thamani hasi: mpangilio wa nambari za nodi) (chaguo-msingi: 0)
SA_MinAggSize R Ukubwa wa chini wa agregati (chaguo-msingi: 3)
SA_Verify R Kama kufanya ukaguzi binafsi wakati wa usanidi (0: hapana, thamani chanya: ndiyo) (chaguo-msingi: 0) (hasa kwa utatuzi wa hitilafu)
SA_DumpVTK R Kama kutoa ukusanyishaji wa kiwango cha juu zaidi katika muundo wa VTK (0: hakuna utoaji, thamani chanya: utoaji) (chaguo-msingi: 0) (hasa kwa utatuzi wa hitilafu)

Mifano ya matumizi

Tumia CG yenye utayarishaji awali wa SSOR, weka idadi ya juu ya marudio kuwa 10000 na kosa la kusimamisha kuwa 1.0e-8

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

Tumia GMRES yenye utayarishaji awali wa SSOR, weka idadi ya nafasi ndogo za Krylov kuwa 40 na idadi lengwa ya rangi katika upangaji wa rangi nyingi kuwa 100

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

Tumia CG yenye utayarishaji awali wa ILU(0) na uweke kizidishi cha diagonal wakati wa kukokotoa matriki ya utayarishaji awali kuwa 1.1

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

Tumia AMG ya ML kama utayarishaji awali wa CG

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

Tumia AMG ya ML kama utayarishaji awali wa CG na MUMPS kama kitatuzi cha gridi korofi (kwa matatizo magumu)

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

Tumia AMG ya ML kama utayarishaji awali wa CG na W-cycle kama mzunguko wa multigrid (kwa matatizo magumu)

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

Tumia AMG ya ML kama utayarishaji awali wa CG, MUMPS kama kitatuzi cha gridi korofi, na uweke idadi ya juu ya viwango kuwa 2 (kwa matatizo magumu sana)

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

Tumia SA-AMG iliyojengewa ndani ya HEC-MW kama kitayarishaji awali cha CG

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

Tumia SA-AMG kama kitayarishaji awali cha CG na MUMPS kama kitatuzi cha gridi korofi

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

Katika uchanganuzi wa mgusano wenye msuguano, tumia BiCGSTAB yenye utayarishaji awali wa SA-AMG na utoe muundo wa ngazi wa kitayarishaji awali cha AMG

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