Zum Inhalt

!SOLVER

Solversteuerung

Erforderliche Steuerdaten.

Parameter

METHOD =    Lösungsverfahren (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
            DIRECT     : Direktes Verfahren außer bei Kontaktanalyse (nur serielle Verarbeitung) (derzeit nicht verfügbar)
            DIRECTmkl  : Direktes Verfahren unter Verwendung von Intel MKL
            MUMPS      : Direktes Verfahren unter Verwendung von MUMPS
            Wenn ein direktes Verfahren ausgewählt ist, werden die Datenzeilen ignoriert.
            Iterative Verfahren für Probleme mit 3 Freiheitsgraden unterstützen threadparallele Ausführung mit OpenMP

PRECOND =   Vorkonditionierungsverfahren für iterative Solver (1, 2, 3, 5, 10, 11, 12)
            1, 2       : (Block-)SSOR (mit Mehrfarbenordnung nur für Probleme mit 3 Freiheitsgraden)
            3          : (Block-)Diagonal Scaling
            5          : AMG unter Verwendung des Mehrgitter-Vorkonditionierungspakets ML
            10         : Block ILU(0)
            11         : Block ILU(1)
            12         : Block ILU(2)
            10, 11 und 12 sind nur für Probleme mit 3 Freiheitsgraden verfügbar
            Für threadparallele Ausführung mit OpenMP werden SSOR, Diagonal Scaling oder ML empfohlen

ITERLOG =   Gibt an, ob der Konvergenzverlauf des iterativen Solvers ausgegeben wird          (YES/NO)(Standardwert: NO)

TIMELOG =   Gibt an, ob die Rechenzeit des Solvers ausgegeben wird                            (YES/NO/VERBOSE)(Standardwert: NO)

USEJAD =    Gibt an, ob eine Ordnung für Vektorprozessoren verwendet wird                     (YES/NO)(Standardwert: NO)
            Nur wirksam, wenn bei einem Problem mit 3 Freiheitsgraden ein iteratives Verfahren verwendet wird

SCALING =   Gibt an, ob die Matrix so skaliert wird, dass die Diagonaleinträge 1 sind         (YES/NO)(Standardwert: NO)
            Nur wirksam, wenn bei einem Problem mit 3 Freiheitsgraden ein iteratives Verfahren verwendet wird

DUMPTYPE =  Format des Matrix-Dumps (NONE, MM, CSR, BSR) (hauptsächlich zum Debuggen)
            NONE : Kein Dump (Standardwert)
            MM   : Matrix-Market-Format
            CSR  : Compressed-Sparse-Row-(CSR)-Format
            BSR  : Blocked-CSR-Format

DUMPEXIT =  Beendet das Programm unmittelbar nach dem Matrix-Dump                             (YES/NO)(Standardwert: NO)

MPCMETHOD = Verfahren zur Behandlung von Mehrpunkt-Zwangsbedingungen (1, 2, 3)
            1: Penalty-Verfahren (Standardwert bei Verwendung eines direkten Verfahrens)
            2: MPC-CG-Verfahren (veraltet)
            3: Explizite Elimination von Freiheitsgraden (Standardwert bei Verwendung eines iterativen Verfahrens)

ESTCOND =   Häufigkeit der Schätzung der Konditionszahl (experimentell)
            Die Konditionszahl wird in jedem angegebenen Iterationsintervall sowie am Ende der Iterationen geschätzt
            Bei Angabe von 0 erfolgt keine Schätzung

METHOD2 =   Sekundäres Lösungsverfahren (BiCGSTAB, GMRES, GPBiCG) (experimentell)
            Nur wirksam, wenn für METHOD CG angegeben ist
            Wenn CG divergiert, wird automatisch auf das sekundäre Verfahren umgeschaltet und die Lösung fortgesetzt
            Für die übrigen Parameter und Datenzeilen werden dieselben Werte verwendet

CONTACT_ELIM = Legt fest, ob bei der Kontaktanalyse Freiheitsgrade eliminiert werden (0,1)
               0: Freiheitsgrad-Elimination nur bei Verwendung eines iterativen Verfahrens durchführen (Standardwert)
               1: Freiheitsgrad-Elimination immer durchführen (auch bei Verwendung eines direkten Verfahrens)

** 2. Zeile und folgende **

(2. Zeile) NITER, iterPREmax, NREST, NCOLOR_IN, RECYCLEPRE
Variable Attribut Beschreibung
NITER I Anzahl der Iterationen (Standardwert: 100)
iterPREmax I Anzahl der Iterationen der Additive-Schwarz-Vorkonditionierung (Standardwert: 1)
(Empfohlener Wert: 1; bei einigen Parallelrechnungen kann 2 wirksam sein)
NREST I Anzahl der Krylov-Unterräume (Standardwert: 10)
(Nur wirksam, wenn GMRES als Lösungsverfahren ausgewählt ist)
NCOLOR_IN I Zielanzahl der Farben für die Mehrfarbenordnung (Standardwert: 10)
(Nur wirksam, wenn die Anzahl der OpenMP-Threads 2 oder größer ist)
RECYCLEPRE I Anzahl der Wiederverwendungen der Informationen zum Aufbau des Vorkonditionierers (Standardwert: 3)
(Nur bei nichtlinearer Analyse wirksam)
(3. Zeile) RESID, SIGMA_DIAG, SIGMA
Variable Attribut Beschreibung
RESID R Abbruchfehler (Standardwert: 1.0e-8)
SIGMA_DIAG R Skalierungsfaktor für Diagonaleinträge bei der Berechnung der Vorkonditionierungsmatrix (Standardwert: 1.0)
(Wenn bei ILU-Vorkonditionierung eine Division durch null oder Divergenz auftritt, kann das Problem bei Angabe eines Werts größer als 1.0 konvergieren)
SIGMA R Nicht verwendet (Standardwert: 0.0)

Bei PRECOND=5 (optional)

Wenn für PRECOND ein anderer Wert angegeben ist, wird die 4. Zeile ignoriert.

(4. Zeile) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
Variable Attribut Beschreibung
ML_CoarseSolver I Grobgitter-Solver für ML (1: Smoother verwenden, 2: KLU (serielles direktes Verfahren), 3: MUMPS (paralleles direktes Verfahren)) (Standardwert: 1)
(Empfohlen: 3 oder 2 für schwierige Probleme, 1 für gewöhnliche Probleme)
ML_Smoother I ML-Smoother (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Standardwert: 1)
(Empfohlen: 1)
ML_MGCycle I ML-Mehrgitterzyklus (1: V-Zyklus, 2: W-Zyklus, 3: Full-V-Zyklus) (Standardwert: 1)
(Empfohlen: 2 für schwierige Probleme, 1 für gewöhnliche Probleme)
ML_MaxLevels I Maximale Anzahl der ML-Ebenen (Standardwert: 10)
(Für besonders schwierige Probleme einen direkten Grobgitter-Solver und 2 Ebenen verwenden (oder 3, wenn der Speicher nicht ausreicht); für gewöhnliche Probleme werden 10 empfohlen)
ML_CoarseningScheme I ML-Coarsening-Schema (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Standardwert: 1)
(Empfohlen: 1 oder 5)
ML_NumSweep I Anzahl der ML-Smoother-Durchläufe (Polynomgrad bei Chebyshev) (Standardwert: 2)
(Empfohlen: 2 für Chebyshev, 1 für SymBlockGaussSeidel)

Beispiele

CG mit SSOR-Vorkonditionierung verwenden und die maximale Anzahl der Iterationen auf 10000 sowie den Abbruchfehler auf 1.0e-8 setzen

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

GMRES mit SSOR-Vorkonditionierung verwenden und die Anzahl der Krylov-Unterräume auf 40 sowie die Zielanzahl der Farben für die Mehrfarbenordnung auf 100 setzen

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

CG mit ILU(0)-Vorkonditionierung verwenden und den Skalierungsfaktor für die Diagonaleinträge bei der Berechnung der Vorkonditionierungsmatrix auf 1.1 setzen

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

AMG von ML als Vorkonditionierer für CG verwenden

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

AMG von ML als Vorkonditionierer für CG und MUMPS als Grobgitter-Solver verwenden (für schwierige Probleme)

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

AMG von ML als Vorkonditionierer für CG und den W-Zyklus als Mehrgitterzyklus verwenden (für schwierige Probleme)

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

AMG von ML als Vorkonditionierer für CG und MUMPS als Grobgitter-Solver verwenden sowie die maximale Anzahl der Ebenen auf 2 setzen (für sehr schwierige Probleme)

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