!SOLVER¶
Έλεγχος επιλυτή
Απαιτούμενα δεδομένα ελέγχου.
Παράμετροι¶
METHOD = Μέθοδος επίλυσης (CG, BiCGSTAB, GMRES, GPBiCG, CR, DIRECT, DIRECTmkl, MUMPS)
DIRECT : Άμεση μέθοδος εκτός ανάλυσης επαφής (μόνο σειριακή επεξεργασία) (προς το παρόν μη διαθέσιμη)
DIRECTmkl : Άμεση μέθοδος με χρήση Intel MKL
MUMPS : Άμεση μέθοδος με χρήση MUMPS
Όταν επιλέγεται άμεση μέθοδος, οι γραμμές δεδομένων αγνοούνται.
Οι επαναληπτικές μέθοδοι για προβλήματα 3 βαθμών ελευθερίας υποστηρίζουν παράλληλη εκτέλεση νημάτων με OpenMP
PRECOND = Μέθοδος προρρύθμισης για επαναληπτικούς επιλυτές (1, 2, 3, 5, 10, 11, 12)
1, 2 : (Block) SSOR (με πολυχρωματική διάταξη μόνο για προβλήματα 3 βαθμών ελευθερίας)
3 : (Block) Διαγώνια κλιμάκωση
5 : AMG με χρήση του πακέτου πολυπλέγματος προρρύθμισης ML
10 : Block ILU(0)
11 : Block ILU(1)
12 : Block ILU(2)
Τα 10, 11 και 12 είναι διαθέσιμα μόνο για προβλήματα 3 βαθμών ελευθερίας
Για παράλληλη εκτέλεση νημάτων OpenMP συνιστώνται SSOR, Διαγώνια κλιμάκωση ή ML
ITERLOG = Αν θα εξάγεται το ιστορικό σύγκλισης του επαναληπτικού επιλυτή (YES/NO)(Προεπιλογή: NO)
TIMELOG = Αν θα εξάγεται ο χρόνος υπολογισμού του επιλυτή (YES/NO/VERBOSE)(Προεπιλογή: NO)
USEJAD = Αν θα χρησιμοποιείται διάταξη για διανυσματικούς επεξεργαστές (YES/NO)(Προεπιλογή: NO)
Ισχύει μόνο όταν χρησιμοποιείται επαναληπτική μέθοδος για πρόβλημα 3 βαθμών ελευθερίας
SCALING = Αν θα κλιμακώνεται ο πίνακας ώστε τα διαγώνια στοιχεία να είναι 1 (YES/NO)(Προεπιλογή: NO)
Ισχύει μόνο όταν χρησιμοποιείται επαναληπτική μέθοδος για πρόβλημα 3 βαθμών ελευθερίας
DUMPTYPE = Μορφή dump πίνακα (NONE, MM, CSR, BSR) (κυρίως για αποσφαλμάτωση)
NONE : Χωρίς dump (Προεπιλογή)
MM : Μορφή Matrix Market
CSR : Μορφή Compressed Sparse Row (CSR)
BSR : Μορφή Blocked CSR
DUMPEXIT = Τερματισμός του προγράμματος αμέσως μετά το dump του πίνακα (YES/NO)(Προεπιλογή: NO)
MPCMETHOD = Μέθοδος χειρισμού πολυσημειακών περιορισμών (1, 2, 3)
1: Μέθοδος ποινής (Προεπιλογή όταν χρησιμοποιείται άμεση μέθοδος)
2: Μέθοδος MPC-CG (Παρωχημένη)
3: Ρητή απαλοιφή βαθμών ελευθερίας (Προεπιλογή όταν χρησιμοποιείται επαναληπτική μέθοδος)
ESTCOND = Συχνότητα εκτίμησης αριθμού κατάστασης (πειραματικό)
Εκτίμηση του αριθμού κατάστασης σε κάθε καθορισμένο διάστημα επαναλήψεων και στο τέλος των επαναλήψεων
Δεν πραγματοποιείται εκτίμηση όταν καθορίζεται 0
METHOD2 = Δευτερεύουσα μέθοδος επίλυσης (BiCGSTAB, GMRES, GPBiCG) (πειραματικό)
Ισχύει μόνο όταν καθορίζεται CG για METHOD
Εάν το CG αποκλίνει, γίνεται αυτόματη μετάβαση στη δευτερεύουσα μέθοδο και συνεχίζεται η επίλυση
Για τις άλλες παραμέτρους και γραμμές δεδομένων χρησιμοποιούνται οι ίδιες τιμές
CONTACT_ELIM = Καθορίζει αν εκτελείται απαλοιφή βαθμών ελευθερίας στην ανάλυση επαφής (0,1)
0: Εκτέλεση απαλοιφής βαθμών ελευθερίας μόνο όταν χρησιμοποιείται επαναληπτική μέθοδος (Προεπιλογή)
1: Πάντα εκτέλεση απαλοιφής βαθμών ελευθερίας (και όταν χρησιμοποιείται άμεση μέθοδος)
** 2η γραμμή και επόμενες **
| Μεταβλητή | Ιδιότητα | Περιγραφή |
|---|---|---|
| NITER | I | Αριθμός επαναλήψεων (Προεπιλογή: 100) |
| iterPREmax | I | Αριθμός επαναλήψεων προρρύθμισης Additive Schwarz (Προεπιλογή: 1) (Συνιστώμενη τιμή: 1· το 2 μπορεί να είναι αποτελεσματικό σε ορισμένους παράλληλους υπολογισμούς) |
| NREST | I | Αριθμός υποχώρων Krylov (Προεπιλογή: 10) (Ισχύει μόνο όταν το GMRES επιλέγεται ως μέθοδος επίλυσης) |
| NCOLOR_IN | I | Στόχος αριθμού χρωμάτων για πολυχρωματική διάταξη (Προεπιλογή: 10) (Ισχύει μόνο όταν ο αριθμός νημάτων OpenMP είναι 2 ή μεγαλύτερος) |
| RECYCLEPRE | I | Αριθμός επαναχρησιμοποιήσεων των πληροφοριών ρύθμισης του προρρυθμιστή (Προεπιλογή: 3) (Ισχύει μόνο σε μη γραμμική ανάλυση) |
| Μεταβλητή | Ιδιότητα | Περιγραφή |
|---|---|---|
| RESID | R | Σφάλμα αποκοπής (Προεπιλογή: 1.0e-8) |
| SIGMA_DIAG | R | Συντελεστής κλιμάκωσης που εφαρμόζεται στα διαγώνια στοιχεία κατά τον υπολογισμό του πίνακα προρρύθμισης (Προεπιλογή: 1.0) (Εάν προκύψει διαίρεση με το μηδέν ή απόκλιση με προρρύθμιση ILU, το πρόβλημα μπορεί να συγκλίνει όταν καθοριστεί τιμή μεγαλύτερη από 1.0) |
| SIGMA | R | Δεν χρησιμοποιείται (Προεπιλογή: 0.0) |
Όταν PRECOND=5 (προαιρετικό)¶
Εάν καθοριστεί οποιαδήποτε άλλη τιμή για το PRECOND, η 4η γραμμή αγνοείται.
(4η γραμμή) ML_CoarseSolver, ML_Smoother, ML_MGCycle, ML_MaxLevels, ML_CoarseningScheme, ML_NumSweep
| Μεταβλητή | Ιδιότητα | Περιγραφή |
|---|---|---|
| ML_CoarseSolver | I | Επιλυτής χονδρού πλέγματος για ML (1: χρήση smoother, 2: KLU (σειριακή άμεση μέθοδος), 3: MUMPS (παράλληλη άμεση μέθοδος)) (Προεπιλογή: 1) (Συνιστάται: 3 ή 2 για δύσκολα προβλήματα, 1 για συνήθη προβλήματα) |
| ML_Smoother | I | Smoother ML (1: Chebyshev, 2: SymBlockGaussSeidel, 3: Jacobi) (Προεπιλογή: 1) (Συνιστάται: 1) |
| ML_MGCycle | I | Κύκλος πολυπλέγματος ML (1: V-cycle, 2: W-cycle, 3: Full-V-cycle) (Προεπιλογή: 1) (Συνιστάται: 2 για δύσκολα προβλήματα, 1 για συνήθη προβλήματα) |
| ML_MaxLevels | I | Μέγιστος αριθμός επιπέδων ML (Προεπιλογή: 10) (Για ιδιαίτερα δύσκολα προβλήματα, χρησιμοποιήστε άμεσο επιλυτή χονδρού πλέγματος και 2 επίπεδα (ή 3 αν η μνήμη είναι ανεπαρκής)· για συνήθη προβλήματα συνιστάται 10) |
| ML_CoarseningScheme | I | Σχήμα αδροποίησης ML (1: UncoupledMIS, 2: METIS, 4: Zoltan, 5: DD) (Προεπιλογή: 1) (Συνιστάται: 1 ή 5) |
| ML_NumSweep | I | Αριθμός σαρώσεων του smoother ML (πολυωνυμικός βαθμός για Chebyshev) (Προεπιλογή: 2) (Συνιστάται: 2 για Chebyshev, 1 για SymBlockGaussSeidel) |
Παραδείγματα¶
Χρησιμοποιήστε CG με προρρύθμιση SSOR και θέστε τον μέγιστο αριθμό επαναλήψεων σε 10000 και το σφάλμα αποκοπής σε 1.0e-8
Χρησιμοποιήστε GMRES με προρρύθμιση SSOR και θέστε τον αριθμό υποχώρων Krylov σε 40 και τον στόχο αριθμού χρωμάτων για πολυχρωματική διάταξη σε 100
Χρησιμοποιήστε CG με προρρύθμιση ILU(0) και θέστε τον συντελεστή κλιμάκωσης που εφαρμόζεται στα διαγώνια στοιχεία κατά τον υπολογισμό του πίνακα προρρύθμισης σε 1.1
Χρησιμοποιήστε AMG μέσω ML ως προρρυθμιστή για CG
Χρησιμοποιήστε AMG μέσω ML ως προρρυθμιστή για CG και MUMPS ως επιλυτή χονδρού πλέγματος (για δύσκολα προβλήματα)
Χρησιμοποιήστε AMG μέσω ML ως προρρυθμιστή για CG και W-cycle ως κύκλο πολυπλέγματος (για δύσκολα προβλήματα)
Χρησιμοποιήστε AMG μέσω ML ως προρρυθμιστή για CG, MUMPS ως επιλυτή χονδρού πλέγματος και θέστε τον μέγιστο αριθμό επιπέδων σε 2 (για πολύ δύσκολα προβλήματα)