Επιλυτής και προρρύθμιση¶
Ο γραμμικός επιλυτής του FrontISTR επιτρέπει επιλογή άμεσης ή επαναληπτικής μεθόδου· στις επαναληπτικές μεθόδους συνδυάζεται με προρρύθμιση για την επίλυση των γραμμικών εξισώσεων. Η μέθοδος επεξεργασίας MPC και η απαλοιφή βαθμών ελευθερίας επαφής είναι συμπληρωματικές επιλογές που καθορίζουν τον τρόπο χειρισμού γραμμικών συστημάτων με περιορισμούς πολλαπλών σημείων ή επαφής.
Επισκόπηση λειτουργιών¶
Οι επιλογές επιλυτή και προρρύθμισης οργανώνονται ως εξής. Πρώτα επιλέγεται επαναληπτική ή άμεση μέθοδος για τον γραμμικό επιλυτή και προρρύθμιση συνδυάζεται μόνο όταν επιλεγεί επαναληπτική μέθοδος.
| Κατηγορία | Κύριες επιλογές | Ρόλος |
|---|---|---|
| Επαναληπτική μέθοδος | CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN | Επιλύει μεγάλες αραιές μήτρες με αποδοτική χρήση μνήμης. |
| Προρρύθμιση επαναληπτικής μεθόδου | SSOR, διαγώνια κλιμάκωση, BILU, AMG, SAINV, RIF | Βελτιώνει τη σύγκλιση των επαναληπτικών μεθόδων. Δεν χρησιμοποιείται με άμεσες μεθόδους. |
| Άμεση μέθοδος | MUMPS, MKL | Επιλύει με αξιοπιστία γραμμικές εξισώσεις μέσω παραγοντοποίησης. |
| Μέθοδος επεξεργασίας MPC | μέθοδος ποινής, ρητή απαλοιφή βαθμών ελευθερίας | Ενσωματώνει περιορισμούς πολλαπλών σημείων στο γραμμικό σύστημα. |
| Απαλοιφή βαθμών ελευθερίας επαφής | αυτόματη, πάντα ενεργή | Αλλάζει τον χειρισμό των πρόσθετων βαθμών ελευθερίας επαφής του SLAGRANGE. |
| Βοηθητικές λειτουργίες | εκτίμηση αριθμού κατάστασης, αποτύπωση μήτρας, καταγραφή | Υποστηρίζουν αποσφαλμάτωση, έλεγχο σύγκλισης και αξιολόγηση απόδοσης. |
Στην παράλληλη εκτέλεση μπορούν να συνδυαστούν παράλληλη εκτέλεση MPI μέσω διαμέρισης περιοχής και νήματα OpenMP. Οι επαναληπτικές μέθοδοι είναι η τυπική επιλογή για μεγάλης κλίμακας παράλληλες αναλύσεις, ενώ οι άμεσες μέθοδοι χρησιμοποιούνται σε περιβάλλοντα με τις απαιτούμενες βιβλιοθήκες όταν απαιτείται πιο ανθεκτική επίλυση.
Επιλογή επιλυτή και προρρύθμισης¶
Πρώτα επιλέξτε επαναληπτική ή άμεση μέθοδο και, αν επιλεγεί επαναληπτική, επιλέξτε στη συνέχεια προρρύθμιση.
| Κριτήριο | Συνιστώμενη προσέγγιση |
|---|---|
| Μέγεθος προβλήματος | Για μικρά και μεσαία προβλήματα οι άμεσες μέθοδοι είναι σταθερές και εύχρηστες. Για μεγάλα προβλήματα οι επαναληπτικές είναι αποδοτικότερες σε μνήμη. |
| Συμμετρία μήτρας | Για συμμετρικά θετικά ορισμένα προβλήματα εξετάστε το CG. Για μη συμμετρικά, τα BiCGSTAB, GMRES, GPBiCG κ.ά. |
| Παράλληλο περιβάλλον | Με MPI συνδυάστε επαναληπτικές μεθόδους με διαμέριση περιοχής. Για προρρύθμιση υπό OpenMP εξετάστε το SSOR με πολύχρωμη διάταξη. |
| Προρρύθμιση (για επαναληπτική μέθοδο) | Δοκιμάστε πρώτα το προεπιλεγμένο SSOR και κατόπιν το AMG. Αν η σύγκλιση είναι καλή, το SSOR έχει μικρότερο κόστος· για σύνθετα μεγάλα προβλήματα το AMG είναι κατάλληλη επιλογή. Το AMG διατίθεται τόσο ως υλοποίηση Trilinos-ML όσο και ως ενσωματωμένο SA-AMG του HEC-MW· επιλέξτε ανάλογα με τη διαμόρφωση μεταγλώττισης. |
| Επαφή / MPC | Σε αναλύσεις με επαφή ή περιορισμούς πολλαπλών σημείων, η μέθοδος MPC και η απαλοιφή βαθμών ελευθερίας επαφής επηρεάζουν σύγκλιση και αξιοπιστία. |
| Εξωτερικές βιβλιοθήκες | Τα MUMPS, MKL και AMG (Trilinos-ML) διατίθενται σε μεταγλωττισμένες εκδόσεις συνδεδεμένες με τις αντίστοιχες βιβλιοθήκες. Το AMG (SA-AMG) διατίθεται σε μεταγλωττισμένες εκδόσεις με ενεργό LAPACK. |
Για τυπικές αναλύσεις, οι προεπιλεγμένες τιμές κριτηρίων σύγκλισης, μέγιστων επαναλήψεων και διαγώνιας διόρθωσης της προρρύθμισης είναι συνήθως επαρκείς. Μόνο αν η σύγκλιση είναι αργή ή υπάρχει απόκλιση, επανεξετάστε διαδοχικά την επαναληπτική μέθοδο, την προρρύθμιση, τη μέθοδο MPC και την απαλοιφή βαθμών επαφής. Για τιμές και σύνταξη παραμέτρων ανατρέξτε στο !SOLVER της αναφοράς λέξεων-κλειδιών.
Επαναληπτικές μέθοδοι¶
Οι επαναληπτικές μέθοδοι ενημερώνουν τη λύση επαναλαμβάνοντας γινόμενα μήτρας-διανύσματος και προρρύθμιση σε μεγάλες αραιές μήτρες. Το FrontISTR προσφέρει τις ακόλουθες επιλογές.
| Επαναληπτική μέθοδος | Ενδεικτική εφαρμογή | Παρατηρήσεις |
|---|---|---|
CG | Συμμετρικά θετικά ορισμένα προβλήματα | Τυπική επιλογή για δομική ανάλυση και ανάλυση αγωγής θερμότητας. |
BiCGSTAB | Μη συμμετρικά προβλήματα | Επιλογή όταν η ασυμμετρία είναι έντονη λόγω επαφής ή σύζευξης. |
GMRES | Μη συμμετρικά προβλήματα | Χρησιμοποιείται με καθορισμένο μέγεθος υποχώρου Krylov. |
GPBiCG | Μη συμμετρικά προβλήματα | Βελτιωμένη μέθοδος της οικογένειας BiCGSTAB. |
GMRESR | Μη συμμετρικά προβλήματα, προχωρημένη χρήση | Επιλογή με εμφωλευμένη χρήση GMRES. |
GMRESREN | Μη συμμετρικά προβλήματα, προχωρημένη χρήση | Αναδρομική έκδοση της οικογένειας GMRESR. |
Το CG προϋποθέτει συμμετρική θετικά ορισμένη μήτρα. Αν υπάρχει έντονη ασυμμετρία λόγω τριβής επαφής, ασύμμετρης επεξεργασίας περιορισμών ή σύζευξης, εξετάστε BiCGSTAB, GMRES, GPBiCG κ.ά. Στο GMRES, μεγαλύτερος υποχώρος Krylov μπορεί να βελτιώσει τη σύγκλιση αλλά αυξάνει τη χρήση μνήμης.
Με METHOD2, όταν το CG αποκλίνει ή αποτυγχάνει μπορεί να γίνει μετάβαση σε εναλλακτική επαναληπτική μέθοδο. Πρόκειται για εφεδρικό μηχανισμό όταν το CG είναι ο κύριος επιλυτής· οι λοιπές ρυθμίσεις και γραμμές δεδομένων παραμένουν ίδιες.
Τα CG, BiCGSTAB, GPBiCG και PipeCG ενημερώνουν το διάνυσμα υπολοίπου μέσω αναδρομικής σχέσης, οπότε με την αύξηση των επαναλήψεων συσσωρεύονται σφάλματα στρογγυλοποίησης και μπορεί να εμφανιστεί απόκλιση από το πραγματικό υπόλοιπο. Για να αποφεύγεται αυτό, το διάνυσμα υπολοίπου επανυπολογίζεται ανά ορισμένο αριθμό επαναλήψεων από το δεξιό μέλος και το γινόμενο μήτρας-διανύσματος. Η περίοδος αυτή ορίζεται με RECOMPUTE_RESIDUAL. Αν η περίοδος αυξηθεί, μειώνονται τα γινόμενα μήτρας-διανύσματος, αλλά μεγαλώνει ο κίνδυνος το αναδρομικά υπολογιζόμενο υπόλοιπο να απομακρυνθεί από το πραγματικό και μια λύση που δεν έχει συγκλίνει να κριθεί ως συγκλίνουσα. Αντίθετα, αν η περίοδος γίνει υπερβολικά μικρή, όχι μόνο αυξάνονται τα γινόμενα μήτρας-διανύσματος, αλλά μπορεί να διαταραχθεί και η σχέση μεταξύ του υπολοίπου που διατηρεί η αναδρομή και των βοηθητικών διανυσμάτων, με αποτέλεσμα να επιδεινωθεί η ίδια η σύγκλιση. Η προεπιλεγμένη τιμή για κάθε μέθοδο ισορροπεί αυτούς τους παράγοντες· αν την αλλάξετε, ελέγξτε το ιστορικό σύγκλισης και το τελικό σχετικό υπόλοιπο.
Προρρύθμιση¶
Η προρρύθμιση μετασχηματίζει τη μήτρα συντελεστών για να βελτιώσει τη σύγκλιση και εφαρμόζεται μόνο στις επαναληπτικές μεθόδους. Δεν χρησιμοποιείται στις άμεσες. Ακόμη και με την ίδια επαναληπτική μέθοδο, η επιλογή προρρύθμισης μπορεί να αλλάξει σημαντικά τον αριθμό επαναλήψεων και τον χρόνο υπολογισμού.
| Προρρύθμιση | Χαρακτηριστικά | Ενδεικτική χρήση |
|---|---|---|
| SSOR | Τυπική προρρύθμιση με υποστήριξη πολύχρωμης διάταξης. | Πρώτη επιλογή, ευρεία χρήση στη δομική ανάλυση. |
| Διαγώνια κλιμάκωση | Ελαφριά προρρύθμιση με διαγώνια στοιχεία. | Όταν απαιτείται χαμηλό υπολογιστικό κόστος. |
| BILU | Ατελής παραγοντοποίηση LU κατά μπλοκ. | Επιλογή όταν το SSOR δυσκολεύεται να συγκλίνει. |
| AMG (Trilinos-ML) | Αλγεβρικό πολυπλέγμα μέσω της εξωτερικής βιβλιοθήκης Trilinos-ML. | Επιλογή για μεγάλα προβλήματα ή προβλήματα στα οποία κυριαρχούν ιεραρχικές συνιστώσες σφάλματος. |
| AMG (SA-AMG) | Αλγεβρικό πολυπλέγμα τύπου Smoothed Aggregation, ενσωματωμένο στο HEC-MW. | Ίδιο πεδίο εφαρμογής με το παραπάνω· επιλογή όταν απαιτείται AMG χωρίς προσθήκη εξωτερικής βιβλιοθήκης. |
| SAINV | Αραιή προσεγγιστική αντίστροφη (Sparse Approximate Inverse). | Ειδική επιλογή για επαφή ή κατανεμημένα περιβάλλοντα. |
| RIF | Ανθεκτική ατελής παραγοντοποίηση (Robust Incomplete Factorization). | Εναλλακτική ατελής παραγοντοποίηση. |
Το SSOR είναι η τυπική επιλογή και σε OpenMP χρησιμοποιείται η έκδοση πολύχρωμης διάταξης. Η διαγώνια κλιμάκωση είναι ελαφριά, αλλά η βελτίωση σύγκλισης εξαρτάται από το πρόβλημα. Το BILU υλοποιείται ως ατελής LU κατά μπλοκ και υποστηρίζει μήτρες με γενικό αριθμό βαθμών ελευθερίας. Στην οικογένεια BILU υπάρχει διαδρομή που αυξάνει αυτόματα το SIGMA_DIAG και επαναλαμβάνει όταν η επαναληπτική μέθοδος αποκλίνει· οι τιμές καθορίζονται στην αναφορά λέξεων-κλειδιών.
Το AMG (αλγεβρικό πολυπλέγμα) έχει δύο υλοποιήσεις: μία που χρησιμοποιεί την εξωτερική βιβλιοθήκη Trilinos-ML και το ενσωματωμένο SA-AMG του HEC-MW. Πρόκειται για ανεξάρτητες υλοποιήσεις με διαφορετικές απαιτήσεις μεταγλώττισης και διαφορετικές διαθέσιμες επιλογές.
Το AMG με Trilinos-ML απαιτεί ενεργό ML κατά τη μεταγλώττιση. Μπορούν να καθοριστούν ο εξομαλυντής, ο κύκλος πολυπλέγματος, το σχήμα αδροποίησης και άλλες ρυθμίσεις· για τις αναλυτικές τιμές ανατρέξτε στην αναφορά λέξεων-κλειδιών.
Το SA-AMG είναι προρρυθμιστής αλγεβρικού πολυπλέγματος τύπου Smoothed Aggregation και δεν απαιτεί Trilinos-ML. Χρησιμοποιεί όμως εσωτερικά LAPACK, συνεπώς απαιτείται μεταγλωττισμένη έκδοση με ενεργό LAPACK· αν επιλεγεί σε έκδοση χωρίς LAPACK, το πρόγραμμα τερματίζεται χωρίς να αρχίσει η ανάλυση. Για την επίλυση στο χονδρό πλέγμα μπορεί να χρησιμοποιηθεί MUMPS σε εκδόσεις με ενεργό MUMPS· διαφορετικά χρησιμοποιείται η ενσωματωμένη άμεση μέθοδος πυκνών μητρών.
Το SA-AMG προορίζεται κυρίως για συμμετρικά θετικά ορισμένα συστήματα (CG), αλλά υποστηρίζει και μη συμμετρικά συμπυκνωμένα συστήματα που προκύπτουν από επαφή με τριβή (BiCGSTAB, GMRES κ.ά.). Υποστηρίζει 1 (αγωγή θερμότητας), 2 (επίπεδο), 3 (στερεό) και 6 (κέλυφος) βαθμούς ελευθερίας ανά κόμβο, αλλά όχι μήτρες στις οποίες ο αριθμός βαθμών ελευθερίας διαφέρει ανά κόμβο. Μπορούν να καθοριστούν ο επιλυτής χονδρού πλέγματος, ο κύκλος πολυπλέγματος, ο βαθμός του εξομαλυντή και άλλες επιλογές, αλλά οι προεπιλεγμένες τιμές επαρκούν για τυπικές αναλύσεις. Για τιμές και σύνταξη ανατρέξτε στην αναφορά λέξεων-κλειδιών. Σε μεταγλωττισμένες εκδόσεις με ενεργό GPU (OpenACC), η φάση εφαρμογής της προρρύθμισης εκτελείται στη GPU.
Όταν το SAINV χρησιμοποιείται σε παράλληλη ανάλυση με επαφή ή περιορισμούς MPC, το βάθος επικάλυψης κατά τη διαμέριση περιοχής μπορεί να επηρεάσει τη σύγκλιση.
Άμεσες μέθοδοι¶
Οι άμεσες μέθοδοι λύνουν τις γραμμικές εξισώσεις παραγοντοποιώντας τη μήτρα συντελεστών. Δεν εξαρτώνται από αριθμό επαναλήψεων και είναι ανθεκτικές, αποτελώντας σταθερή επιλογή σε αναλύσεις με επαφή ή περιορισμούς. Ωστόσο, η χρήση μνήμης αυξάνει με το μέγεθος του προβλήματος.
| Άμεση μέθοδος | Παράλληλο περιβάλλον | Χρήση |
|---|---|---|
MUMPS | MPI | Άμεση επίλυση αραιών μητρών σε περιβάλλον κατανεμημένης μνήμης. |
MKL | Intel MKL / OpenMP | Άμεση μέθοδος Intel MKL, εσωτερικά με Intel PARDISO. Με πολλαπλές διεργασίες MPI χρησιμοποιείται Cluster MKL. Το DIRECTmkl είναι ψευδώνυμο του MKL. |
Οι άμεσες μέθοδοι μπορούν να χρησιμοποιηθούν τόσο για συμμετρικές όσο και για μη συμμετρικές μήτρες. Τα MUMPS και MKL απαιτούν σύνδεση των αντίστοιχων βιβλιοθηκών κατά τη μεταγλώττιση. Δεν μπορούν να χρησιμοποιηθούν σε περιβάλλοντα όπου οι αντίστοιχες βιβλιοθήκες δεν είναι διαθέσιμες. Για απαιτούμενες εξαρτήσεις και επιλογές CMake ανατρέξτε στον οδηγό μεταγλώττισης.
Το FrontISTR διαθέτει επίσης ενσωματωμένη άμεση διαδρομή χωρίς εξωτερική βιβλιοθήκη, αλλά για συνήθη ανάλυση με άμεση μέθοδο προτιμώνται MUMPS ή MKL.
Στις άμεσες μεθόδους δεν εφαρμόζεται προρρύθμιση. Ακόμη κι αν έχει καθοριστεί στο !SOLVER, αγνοείται στην άμεση διαδρομή.
Μέθοδοι επεξεργασίας MPC¶
Η μέθοδος επεξεργασίας MPC καθορίζει πώς οι βαθμοί ελευθερίας που συνδέονται με περιορισμούς πολλαπλών σημείων ενσωματώνονται στις γραμμικές εξισώσεις. Ακόμη και με τις ίδιες εξισώσεις περιορισμού, η επιλογή αλλάζει τις ιδιότητες της μήτρας και τη σύγκλιση.
| Μέθοδος MPC | Θέση | Προεπιλεγμένη χρήση |
|---|---|---|
| Μέθοδος ποινής | Προσθέτει μεγάλη δυσκαμψία ώστε ο περιορισμός να ικανοποιείται προσεγγιστικά. | Προεπιλογή στις άμεσες μεθόδους. |
| Ρητή απαλοιφή βαθμών ελευθερίας | Απαλείφει τους περιορισμένους βαθμούς και λύνει το συμπυκνωμένο γραμμικό σύστημα. | Προεπιλογή στις επαναληπτικές μεθόδους. |
Η μέθοδος ποινής είναι προεπιλογή στις άμεσες μεθόδους και η ρητή απαλοιφή στις επαναληπτικές. Η παλαιότερα διαθέσιμη μέθοδος MPC-CG έχει αφαιρεθεί· για δεδομένα εισόδου που ορίζουν MPCMETHOD=2 εμφανίζεται προειδοποίηση και η επεξεργασία ακολουθεί αυτές τις προεπιλογές.
Κατά τη ρητή απαλοιφή βαθμών ελευθερίας, οι συγκεντρωμένες μάζες που χρησιμοποιούνται στην ιδιομορφική ανάλυση και στη ρητή δυναμική ανάλυση μειώνονται επίσης με τον ίδιο μετασχηματισμό όπως το μητρώο δυσκαμψίας. Επειδή το μειωμένο μητρώο μάζας γενικά δεν είναι διαγώνιο, τα αθροίσματα των γραμμών του χρησιμοποιούνται ως συγκεντρωμένες μάζες. Σε περιορισμούς σύνδεσης ή παρεμβολής όπου το άθροισμα των συντελεστών της εξίσωσης περιορισμού είναι 1, η μάζα του εξαρτημένου βαθμού ελευθερίας κατανέμεται στους κύριους βαθμούς ελευθερίας αναλογικά με τους συντελεστές.
Η μέθοδος MPC μπορεί να καθοριστεί ρητά με MPCMETHOD στο !SOLVER. Για τιμές και σύνταξη ανατρέξτε στην αναφορά λέξεων-κλειδιών.
Απαλοιφή βαθμών ελευθερίας επαφής¶
Η απαλοιφή βαθμών ελευθερίας επαφής συμπυκνώνει τους πρόσθετους βαθμούς του SLAGRANGE πριν το σύστημα δοθεί στον γραμμικό επιλυτή. Η απαλοιφή τους μπορεί να βελτιώσει τις ιδιότητες του γραμμικού συστήματος στις επαναληπτικές μεθόδους.
Στην προεπιλεγμένη αυτόματη λειτουργία, η απαλοιφή γίνεται με επαναληπτικές μεθόδους αλλά όχι με άμεσες. Οι άμεσες μέθοδοι μπορούν να χειριστούν απευθείας το διευρυμένο σύστημα που περιλαμβάνει τους βαθμούς επαφής.
Με ρητό CONTACT_ELIM, η απαλοιφή μπορεί να εφαρμοστεί και με άμεση μέθοδο. Για επιλογή τύπου επαφής, ζεύγους και αλγορίθμου ανατρέξτε στην ενότητα επαφής και ενσωμάτωσης.
Βοηθητικές λειτουργίες¶
Για διερεύνηση σύγκλισης και απόδοσης μπορούν να χρησιμοποιηθούν εκτίμηση αριθμού κατάστασης, αποτύπωση μήτρας και καταγραφή. Δεν απαιτούνται στη συνήθη ανάλυση και ενεργοποιούνται για αποσφαλμάτωση ή αξιολόγηση απόδοσης.
| Λειτουργία | Χρήση | Παρατηρήσεις |
|---|---|---|
| Εκτίμηση αριθμού κατάστασης | Εξάγει δείκτη αριθμού κατάστασης με CG και GMRES. | Απαιτεί μεταγλωττισμένη έκδοση με ενεργό LAPACK. |
| Αποτύπωση μήτρας | Αποθηκεύει σε αρχείο τη μήτρα και το δεξί μέλος που δίνονται στον επιλυτή. | Υποστηρίζει Matrix Market, CSR, BSR. |
DUMPEXIT | Τερματίζει την ανάλυση μετά την αποτύπωση της μήτρας. | Για εξαγωγή μόνο της μήτρας και εξωτερική επαλήθευση. |
ITERLOG | Εξάγει ιστορικό σύγκλισης επαναληπτικής μεθόδου. | Για έλεγχο εξέλιξης του υπολοίπου. |
TIMELOG | Εξάγει χρόνο υπολογισμού επιλυτή. | Με VERBOSE δίνει λεπτομερή ανάλυση. |
STEPLOG | Εξάγει πληροφορίες βημάτων. | Για έλεγχο της διαδικασίας ανάλυσης. |
LOGLEVEL | Εξάγει διαγνωστικές πληροφορίες, όπως την κατασκευή της ιεραρχίας της προρρύθμισης AMG. | Καθορίζεται ανεξάρτητα από τα ITERLOG και TIMELOG. Μεγαλύτερη τιμή αυξάνει την ποσότητα εξόδου. |
Η αποτύπωση μήτρας επιτρέπει τον έλεγχο της συναρμολογημένης μήτρας με εξωτερικά εργαλεία. Με DUMPEXIT η ανάλυση τερματίζεται μόλις αποθηκευτούν μήτρα και δεξί μέλος. Η εκτίμηση αριθμού κατάστασης είναι πειραματική λειτουργία για CG και GMRES και χρησιμοποιείται για διάγνωση σύγκλισης.
Σχετικά θέματα¶
- Γραμμικός επιλυτής (θεωρία) — Μαθηματικές αρχές επαναληπτικών μεθόδων και προρρύθμισης.
- Μη γραμμικές επαναλήψεις και χρονική ολοκλήρωση — Πλαίσιο επαναλήψεων Newton, επαφής και χρονικής ολοκλήρωσης που καλεί τον γραμμικό επιλυτή.
- Διαμέριση περιοχής — Παράλληλη ανάλυση MPI και καθορισμός βάθους επικάλυψης.
- Επαφή και ενσωμάτωση — Επιλογή τύπου και αλγορίθμου επαφής.
- !SOLVER — Τιμές και σύνταξη παραμέτρων επιλυτή και προρρύθμισης.
- Απαιτούμενες και προαιρετικές εξαρτήσεις — Βιβλιοθήκες όπως
MUMPS,MKL(Intel PARDISO), Trilinos-ML και LAPACK.