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 **
| 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ä) |
| 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.
| 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
Käytetään GMRES-menetelmää SSOR-esikonditionoinnilla ja asetetaan Krylov-aliavaruuden kooksi 40 sekä monivärijärjestelyn tavoitevärien määräksi 100
Käytetään CG-menetelmää ILU(0)-esikonditionoinnilla ja asetetaan esikonditionointimatriisin laskennassa diagonaalielementteihin käytettäväksi kertoimeksi 1.1
CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää
CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää ja karkean hilan ratkaisijana MUMPS:ia (vaikeille ongelmille)
CG-menetelmän esikonditionointina käytetään ML:n AMG-menetelmää ja monihilasyklinä W-sykliä (vaikeille ongelmille)
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)
CG-menetelmän esikonditionointina käytetään HEC-MW:n sisäänrakennettua SA-AMG:tä
CG-menetelmän esikonditionointina käytetään SA-AMG:tä ja karkean hilan ratkaisijana MUMPS:ia
Kitkakontaktianalyysissä käytetään BiCGSTAB-menetelmää SA-AMG-esikonditionoinnilla ja tulostetaan AMG-esikonditionoinnin hierarkia