Hyppää sisältöön

Translation update pending

The Finnish translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

!SOLVER

Ratkaisijan ohjaus

Pakolliset ohjaustiedot.

Parametrit

METHOD =    ratkaisumenetelmä (CG, BiCGSTAB, GMRES, GPBiCG, CR, PipeCG, GroppCG, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : suora menetelmä muille kuin kontaktianalyyseille (vain sarjalaskenta) (ei tällä hetkellä käytettävissä)
            DIRECTmkl  : Intel MKL:ään perustuva suora menetelmä
            MUMPS      : MUMPS:iin perustuva suora menetelmä
            Kun valitaan suora menetelmä, tietorivit ohitetaan.
            Iteratiivisissa menetelmissä voidaan käyttää OpenMP-säierinnakkaisuutta

PRECOND =   iteratiivisen menetelmän esikonditionointimenetelmä (1、2、3、5、10、11、12, 22)
            1, 2       : (Block) SSOR (monivärijärjestelyllä)
            3          : (Block) diagonaaliskaalaus
            5          : AMG käyttäen ML-monihilaesikonditionointipakettia
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            22         : AMG käyttäen HEC-MW:n sisäänrakennettua SA-AMG:tä (tasoitetun aggregoinnin AMG)
            10、11、12 ovat käytettävissä vain kolmen vapausasteen ongelmissa
            22 on käytettävissä vain käännöksissä, joissa LAPACK on käytössä
            OpenMP-säierinnakkaisuudessa suositellaan SSOR-, diagonaaliskaalaus-, ML- tai SA-AMG-esikonditionointia,
            tai kolmen vapausasteen ongelmissa Block ILU (10, 11, 12) -esikonditionointia

ITERLOG =   tulostetaanko iteratiivisen ratkaisijan konvergenssihistoria (YES/NO)(oletus: NO)

TIMELOG =   tulostetaanko ratkaisijan laskenta-aika              (YES/NO/VERBOSE)(oletus: NO)

LOGLEVEL =  esikonditionoinnin diagnostiikkatulostuksen taso          (kokonaisluku)(oletus: ei tulostusta)
            Määritetään ITERLOG- ja TIMELOG-asetuksista riippumatta
            Arvolla 1 tai suuremmalla tulostetaan AMG-esikonditionointien (PRECOND=5,22) hierarkian rakenne ja muita tietoja
            Arvolla 2 tai suuremmalla tulostetaan yksityiskohtaisempia tietoja (kuten muistin käyttö)

USEJAD =    käytetäänkö vektorikoneille tarkoitettua järjestelyä (YES/NO)(oletus: NO)
            Voimassa vain, kun käytetään iteratiivista menetelmää

SCALING =   skaalataanko matriisin diagonaalielementit arvoon 1  (YES/NO)(oletus: NO)
            Voimassa vain käytettäessä iteratiivista menetelmää kolmen vapausasteen ongelmissa

DUMPTYPE =  matriisivedoksen muoto (NONE, MM, CSR, BSR) (pääasiassa virheenkorjaukseen)
            NONE : ei vedosta (oletus)
            MM   : Matrix Market -muoto
            CSR  : Compressed Sparse Row (CSR) -muoto
            BSR  : Blocked CSR -muoto

DUMPEXIT =  lopetetaanko ohjelma heti matriisivedoksen jälkeen   (YES/NO)(oletus: NO)

MPCMETHOD = monipisterajoitteiden käsittelymenetelmä (1、3)
            1: sakkomenetelmä (oletus käytettäessä suoraa menetelmää)
            3: eksplisiittinen vapausasteiden eliminointi (oletus käytettäessä iteratiivista menetelmää)
            MPC-CG-menetelmä (2) on poistettu. Jos arvoksi annetaan 2, annetaan varoitus ja käytetään oletusmenetelmää.

ESTCOND =   kuntoluvun estimoinnin taajuus (kokeellinen)
            Kuntoluku estimoidaan määrätyin iteraatiovälein sekä iteraation päättyessä
            Arvolla 0 estimointia ei tehdä

RECOMPUTE_RESIDUAL = residuaalivektorin uudelleenlaskennan taajuus
            Voimassa vain, kun METHOD-asetuksena on CG, BiCGSTAB, GPBiCG tai PipeCG
            GroppCG:n uudelleenlaskentajakso on kiinteästi 50, eikä tätä asetusta käytetä
            Iteratiiviset menetelmät päivittävät residuaalivektoria rekursiokaavalla, joten pyöristysvirheitä kertyy
            Määrätyin iteraatiovälein residuaalivektori lasketaan uudelleen lausekkeesta {b}-[A]{x}
            Arvolla 0 käytetään kunkin menetelmän oletusarvoa (CG: 50, BiCGSTAB: 100, GPBiCG: 20, PipeCG: 50)
            Negatiivisella arvolla jaksottaista uudelleenlaskentaa ei tehdä
            Konvergenssin varmistamiseksi tehtävä uudelleenlaskenta suoritetaan aina tästä asetuksesta riippumatta
            Liian lyhyt jakso ei ainoastaan lisää matriisi-vektorituloja, vaan voi myös
            heikentää itse konvergenssia tai estää konvergenssin kokonaan
            Jos oletusarvoa muutetaan, tarkista konvergenssihistoria ja lopullinen suhteellinen residuaali

METHOD2 =   toinen ratkaisumenetelmä (BiCGSTAB, GMRES, GPBiCG) (kokeellinen)
            Voimassa vain, kun METHOD-asetuksena on CG, PipeCG tai GroppCG
            Jos METHOD-asetuksella valittu menetelmä hajaantuu, ratkaisija vaihtaa automaattisesti toiseen menetelmään ja jatkaa ratkaisua
            Muiden parametrien ja tietorivien tietoja käytetään samoina

CONTACT_ELIM = määrittää, eliminoidaanko vapausasteita kontaktianalyysissä (0,1)
               0: vapausasteiden eliminointi vain iteratiivista menetelmää käytettäessä (oletus)
               1: vapausasteiden eliminointi aina (myös suoraa menetelmää käytettäessä)

** 2. ja sitä seuraavat rivit **

(2. rivi) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Muuttujan nimi Attribuutti Kuvaus
NITER I iteraatioiden määrä (oletus: 100)
iterPREmax I Additive Schwarz -esikonditionoinnin iteraatioiden määrä (oletus: 1)
(suositusarvo on 1 (rinnakkaislaskennassa 2 voi olla tehokas))
NREST I Krylov-aliavaruuden koko (oletus: 10)
(voimassa vain, kun ratkaisumenetelmäksi on valittu GMRES)
NCOLOR_IN I monivärijärjestelyn tavoitevärien määrä (oletus: 10)
(voimassa vain, kun OpenMP-säikeitä on vähintään 2)
RECYCLEPRE I esikonditionoinnin asetustietojen uudelleenkäyttökertojen määrä (oletus: 3)
(voimassa vain epälineaarisessa analyysissä)
(3. rivi) RESID, SIGMA_DIAG, OMEGA
Muuttujan nimi Attribuutti Kuvaus
RESID R konvergenssitoleranssi (oletusarvo: 1.0e-8)
SIGMA_DIAG R kerroin, jolla diagonaalielementtejä kerrotaan esikonditionointimatriisia laskettaessa (oletusarvo: 1.0)
(jos ILU-esikonditionoinnissa tapahtuu jako nollalla tai hajaantumista, ongelma saattaa ratketa asettamalla arvoksi yli 1.0)
(Voimassa vain ILU- ja diagonaaliskaalausesikonditionoinneille. SSOR käyttää OMEGA-arvoa.)
OMEGA R SSOR-esikonditionoinnin relaksaatioparametri (oletusarvo: 1.0)
(Arvo 1.0 vastaa perinteistä SSOR-esikonditionointia)
(Kelvollinen alue on suurempi kuin 0 ja pienempi kuin 2. Alueen ulkopuoliset arvot sekä arvot, joiden ero arvosta 0 tai 2 on alle kone-epsilonin, käsitellään arvona 1.0.)

Kun PRECOND=5 (voidaan jättää pois)

Jos PRECOND-arvoksi määritetään muu kuin 5 tai 22, 4. rivi ohitetaan.

(4. rivi) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Muuttujan nimi Attribuutti Kuvaus
ML_CoarseSolver I ML:n karkean hilan ratkaisija (1: korvataan tasoittajalla, 2: KLU (sarjallinen suora menetelmä), 3: MUMPS (rinnakkainen suora menetelmä)) (oletusarvo: 1)
(suositusarvo on vaikeille ongelmille 3 tai 2, tavallisille ongelmille 1)
ML_Smoother I ML:n tasoittaja (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (oletusarvo: 1)
(suositusarvo on 1)
ML_MGCycle I ML:n monihilasykli (1: V-sykli, 2: W-sykli, 3: täysi V-sykli) (oletusarvo: 1)
(suositusarvo on vaikeille ongelmille 2, tavallisille ongelmille 1)
ML_MaxLevels I ML:n tasojen enimmäismäärä (oletusarvo: 10)
(erityisen vaikeille ongelmille suositellaan karkean hilan ratkaisijaksi suoraa menetelmää ja arvoksi 2 (jos muisti ei riitä, 3); tavallisille ongelmille 10)
ML_CoarseningScheme I ML:n karkeistusmenetelmä (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (oletusarvo: 1)
(suositusarvo on 1 tai 5)
ML_NumSweep I ML-tasoittajan pyyhkäisyjen määrä (Chebyshev-tapauksessa polynomin aste) (oletusarvo: 2)
(suositusarvo on Chebyshev-tapauksessa 2 ja SymBlockGaussSeidel-tapauksessa 1)

Kun PRECOND=22 (voidaan jättää pois)

Jos PRECOND-arvoksi määritetään muu kuin 22, 5. rivi ohitetaan. Sekä 4. että 5. rivi voidaan jättää kokonaan pois, ja kummankin rivin loppupään kenttiä voidaan myös jättää pois. Arvolla 0 määritetyissä kentissä käytetään oletusarvoa.

Neljännen rivin kentät 1–7 ovat samassa järjestyksessä kuin PRECOND=5 (ML) -asetusrivillä, joten ML-asetusriviä voidaan käyttää sellaisenaan. Kentät 8–10 ovat SA-AMG-kohtaisia.

(4. rivi) SA_CoarseSolver, SA_Smoother, SA_MGCycle, SA_MaxLevels, (ei käytössä), SA_ChebyDegree, SA_CoarseSize, SA_MaxAggSize, SA_GalerkinLowMem, (ei käytössä)
Muuttujan nimi Attribuutti Kuvaus
SA_CoarseSolver I Karkean hilan ratkaisija (0: automaattinen, 1: käytä tasoittajaa, 2: tiheän matriisin suora menetelmä, 3: MUMPS (rinnakkainen suora menetelmä)) (oletusarvo: 0)
(Automaattisessa tilassa MUMPS otetaan käyttöön käännöksissä, joissa MUMPS on käytössä; muissa tapauksissa käytetään tiheän matriisin suoraa menetelmää)
SA_Smoother I Tasoittaja (0 tai 1: Chebyshev) (oletusarvo: 0)
(Vain Chebyshev on tuettu. Jos määritetään muu arvo, tulostetaan varoitus ja käytetään Chebysheviä)
SA_MGCycle I Monihilasykli (0: oletus (W-sykli), 1: V-sykli, 2: W-sykli) (oletusarvo: 0)
(Täyttä V-sykliä ei tueta)
SA_MaxLevels I Tasojen enimmäismäärä (oletusarvo: 20)
(ei käytössä) I ML:n karkeistusmenetelmää vastaava paikka. Koska SA-AMG käyttää aina kytkemätöntä aggregointia, nollasta poikkeava arvo aiheuttaa varoituksen ja ohitetaan
SA_ChebyDegree I Chebyshev-tasoittajan polynomin aste (oletusarvo: 2)
SA_CoarseSize I Karkean hilan katkaisukoko (oletusarvo: 50000, kun karkean hilan ratkaisijana käytetään MUMPS:ia; muulloin 100)
SA_MaxAggSize I Aggregaatin enimmäiskoko (oletusarvo: 96)
SA_GalerkinLowMem I Karkean hilan matriisin laskentatapa (0: tavallinen (nopeus etusijalla), positiivinen arvo: muistia säästävä) (oletusarvo: 0)
(Määritä positiivinen arvo, jos muisti ei riitä asetusten muodostamisen aikana)
(ei käytössä) I Varattu tulevia laajennuksia varten

Viides rivi on tarkoitettu vain SA-AMG:lle, eikä ML lue sitä.

(5. rivi) SA_Theta, SA_ChebyAlpha, SA_Safety, SA_TaperK, SA_AggOrder, SA_MinAggSize, SA_Verify, SA_DumpVTK
Muuttujan nimi Attribuutti Kuvaus
SA_Theta R Vahvojen yhteyksien määrityskynnys (oletusarvo: 0.0)
(Arvolla 0.0 matriisin nollasta poikkeavaa rakennetta käytetään suoraan graafina)
SA_ChebyAlpha R Suhde, joka määrittää Chebyshev-tasoittajan kohteena olevan ominaisarvovälin alarajan (oletusarvo: 20.0)
SA_Safety R Arvioituun suurimpaan ominaisarvoon sovellettava varmuuskerroin (oletusarvo: 1.1)
SA_TaperK R Karkeistuksen loivennuskerroin K (oletusarvo: 100)
(Tasolta 2 alkaen karkeistusta loivennetaan niin, että jäljelle jää vähintään noin K aggregaattia. Negatiivinen arvo poistaa loivennuksen käytöstä)
SA_AggOrder R Aggregoinnin läpikäyntijärjestys (0: oletus (BFS-järjestys), 1: BFS-järjestys, 2: solmunumeroiden hajautusjärjestys (kokeellinen), 3: kasvava astejärjestys (kokeellinen), 4: laskeva astejärjestys (kokeellinen), negatiivinen arvo: solmunumerojärjestys) (oletusarvo: 0)
SA_MinAggSize R Aggregaatin vähimmäiskoko (oletusarvo: 3)
SA_Verify R Tehdäänkö asetusten muodostamisen aikana itsetarkistus (0: ei, positiivinen arvo: kyllä) (oletusarvo: 0) (pääasiassa virheenkorjaukseen)
SA_DumpVTK R Tulostetaanko ylimmän tason aggregointi VTK-muodossa (0: ei tulostusta, positiivinen arvo: tulostus) (oletusarvo: 0) (pääasiassa virheenkorjaukseen)

Esimerkki

Käytetään CG-menetelmää SSOR-esikonditionoinnilla ja asetetaan iteraatioiden enimmäismääräksi 10000 sekä konvergenssitoleranssiksi 1.0e-8

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

Käytetään GMRES-menetelmää SSOR-esikonditionoinnilla ja asetetaan Krylov-aliavaruuden kooksi 40 sekä monivärijärjestelyn tavoitevärien määräksi 100

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

Käytetään CG-menetelmää ILU(0)-esikonditionoinnilla ja asetetaan esikonditionointimatriisin laskennassa diagonaalielementteihin käytettäväksi kertoimeksi 1.1

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

CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää

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

CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää ja karkean hilan ratkaisijana MUMPS:ia (vaikeille ongelmille)

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

CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää ja monihilasyklinä W-sykliä (vaikeille ongelmille)

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

CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää, karkean hilan ratkaisijana MUMPS:ia ja tasojen enimmäismääränä 2 (erittäin vaikeille ongelmille)

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

CG-menetelmän esikonditionointina käytetään HEC-MW:n sisäänrakennettua SA-AMG:tä

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

CG-menetelmän esikonditionointina käytetään SA-AMG:tä ja karkean hilan ratkaisijana MUMPS:ia

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

Kitkakontaktianalyysissä käytetään BiCGSTAB-menetelmää SA-AMG-esikonditionoinnilla ja tulostetaan AMG-esikonditionoinnin hierarkia

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