Gå til indholdet

!SOLVER

Løserstyring

Påkrævede styringsdata.

Parametre

METHOD =    Løsningsmetode (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Direkte metode undtagen ved kontaktanalyse (kun seriel behandling) (ikke tilgængelig i øjeblikket)
            DIRECTmkl  : Direkte metode med Intel MKL
            MUMPS      : Direkte metode med MUMPS
            Når en direkte metode vælges, ignoreres datalinjerne.
            Iterative metoder til problemer med 3 frihedsgrader understøtter trådparallel udførelse med OpenMP

PRECOND =   Prækonditioneringsmetode for iterative løsere (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (Blok-)SSOR (med flerfarveordning kun for problemer med 3 frihedsgrader)
            3          : (Blok-)diagonalskalering
            5          : AMG med multigrid-prækonditioneringspakken ML
            10         : Blok-ILU(0)
            11         : Blok-ILU(1)
            12         : Blok-ILU(2)
            10, 11 og 12 er kun tilgængelige for problemer med 3 frihedsgrader
            Til OpenMP-trådparallel udførelse anbefales SSOR, diagonalskalering eller ML

ITERLOG =   Om konvergenshistorikken for den iterative løser skal udskrives          (YES/NO)(standard: NO)

TIMELOG =   Om løserens beregningstid skal udskrives                       (YES/NO/VERBOSE)(standard: NO)

USEJAD =    Om ordning til vektorprocessorer skal bruges                    (YES/NO)(standard: NO)
            Kun gyldig, når en iterativ metode bruges til et problem med 3 frihedsgrader

SCALING =   Om matricen skal skaleres, så diagonalelementerne er 1       (YES/NO)(standard: NO)
            Kun gyldig, når en iterativ metode bruges til et problem med 3 frihedsgrader

DUMPTYPE =  Format for matrixdump (NONE, MM, CSR, BSR) (hovedsageligt til fejlfinding)
            NONE : Intet dump (standard)
            MM   : Matrix Market-format
            CSR  : Compressed Sparse Row-format (CSR)
            BSR  : Blokeret CSR-format

DUMPEXIT =  Afslut programmet straks efter matrixdump           (YES/NO)(standard: NO)

MPCMETHOD = Metode til håndtering af flerpunktbegrænsninger (1, 2, 3)
            1: Penalty-metode (standard ved brug af en direkte metode)
            2: MPC-CG-metode (udfaset)
            3: Eksplicit eliminering af frihedsgrader (standard ved brug af en iterativ metode)

ESTCOND =   Hyppighed for estimering af konditionstal (eksperimentel)
            Estimér konditionstallet ved hvert angivet iterationsinterval og ved afslutningen af iterationerne
            Der udføres ingen estimering, når 0 er angivet

METHOD2 =   Sekundær løsningsmetode (BiCGSTAB, GMRES, GPBiCG) (eksperimentel)
            Kun gyldig, når CG er angivet for METHOD
            Hvis CG divergerer, skiftes der automatisk til den sekundære metode, og løsningen fortsættes
            De samme værdier bruges for de øvrige parametre og datalinjer

CONTACT_ELIM = Angiver, om eliminering af frihedsgrader udføres i kontaktanalyse (0,1)
               0: Udfør kun eliminering af frihedsgrader ved brug af en iterativ metode (standard)
               1: Udfør altid eliminering af frihedsgrader (også ved brug af en direkte metode)

** 2. linje og efterfølgende **

(2. linje) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Variabel Attribut Beskrivelse
NITER I Antal iterationer (standard: 100)
iterPREmax I Antal iterationer for additiv Schwarz-prækonditionering (standard: 1)
(Anbefalet værdi: 1; 2 kan være effektivt i nogle parallelle beregninger)
NREST I Antal Krylov-underrum (standard: 10)
(Kun gyldig, når GMRES er valgt som løsningsmetode)
NCOLOR_IN I Måltal for antal farver ved flerfarveordning (standard: 10)
(Kun gyldig, når antallet af OpenMP-tråde er 2 eller derover)
RECYCLEPRE I Antal gange opsætningsinformation for prækonditioneringen genbruges (standard: 3)
(Kun gyldig ved ikke-lineær analyse)
(3. linje) RESID, SIGMA_DIAG, SIGMA
Variabel Attribut Beskrivelse
RESID R Afskæringsfejl (standard: 1.0e-8)
SIGMA_DIAG R Skaleringsfaktor, der anvendes på diagonalelementer ved beregning af prækonditioneringsmatricen (standard: 1.0)
(Hvis division med nul eller divergens forekommer ved ILU-prækonditionering, kan problemet konvergere, når en værdi større end 1.0 angives)
SIGMA R Bruges ikke (standard: 0.0)

Når PRECOND=5 (valgfri)

Hvis der angives en anden værdi for PRECOND, ignoreres 4. linje.

(4. linje) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Variabel Attribut Beskrivelse
ML_CoarseSolver I Grovgitterløser for ML (1: brug smoother, 2: KLU (seriel direkte metode), 3: MUMPS (parallel direkte metode)) (standard: 1)
(Anbefalet: 3 eller 2 til vanskelige problemer, 1 til almindelige problemer)
ML_Smoother I ML-smoother (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (standard: 1)
(Anbefalet: 1)
ML_MGCycle I ML-multigridcyklus (1: V-cyklus, 2: W-cyklus, 3: Full-V-cyklus) (standard: 1)
(Anbefalet: 2 til vanskelige problemer, 1 til almindelige problemer)
ML_MaxLevels I Maksimalt antal ML-niveauer (standard: 10)
(Til særligt vanskelige problemer bruges en direkte grovgitterløser og 2 niveauer (eller 3, hvis hukommelsen er utilstrækkelig); til almindelige problemer anbefales 10)
ML_CoarseningScheme I ML-grovinddelingsskema (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (standard: 1)
(Anbefalet: 1 eller 5)
ML_NumSweep I Antal ML-smoother-gennemløb (polynomiets grad for Chebyshev) (standard: 2)
(Anbefalet: 2 for Chebyshev, 1 for SymBlockGaussSeidel)

Eksempler

Brug CG med SSOR-prækonditionering, og sæt det maksimale antal iterationer til 10000 og afskæringsfejlen til 1.0e-8

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

Brug GMRES med SSOR-prækonditionering, og sæt antallet af Krylov-underrum til 40 og måltallet for antal farver ved flerfarveordning til 100

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

Brug CG med ILU(0)-prækonditionering, og sæt skaleringsfaktoren, der anvendes på diagonalelementerne ved beregning af prækonditioneringsmatricen, til 1.1

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

Brug AMG via ML som prækonditionering for CG

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

Brug AMG via ML som prækonditionering for CG og MUMPS som grovgitterløser (til vanskelige problemer)

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

Brug AMG via ML som prækonditionering for CG og W-cyklus som multigridcyklus (til vanskelige problemer)

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

Brug AMG via ML som prækonditionering for CG, MUMPS som grovgitterløser, og sæt det maksimale antal niveauer til 2 (til meget vanskelige problemer)

!SOLVER, METHOD=CG, PRECOND=5, ITERLOG=YES, TIMELOG=YES
  10000, 1
  1.0e-8, 1.0, 0.0
  3, 1, 1, 2
AI-assisted translation May contain errors Official docs Status