Σπίτι Παραδείγματα Στιγμιότυπα οθόνης Εγχειρίδιο χρήστη Λογότυπο της Bluesky YouTube ☰
OghmaNano Πλατφόρμα προσομοίωσης πολλαπλών φυσικών πεδίων για οπτοηλεκτρονικές συσκευές και φωτονικά συστήματα. Λήψη Οδηγός γρήγορης εκκίνησης

Σταθερότητα του Εργαλείου Επίλυσης OFET: Σφάλματα Δικτύου, Σύγκλισης και Προσομοίωσης

Αυτή η ενότητα εξηγεί πώς να διαγνώσετε προβλήματα σταθερότητας και σύγκλισης του επιλυτή σε δισδιάστατες προσομοιώσεις OFET. Οι μονοδιάστατες προσομοιώσεις είναι συνήθως σταθερές και γρήγορες, αλλά καθώς η διάσταση αυξάνεται από 1D σε 2D και 3D, ο αριθμός των συνδεδεμένων εξισώσεων και των συνδετικών όρων αυξάνεται ραγδαία. Ως εκ τούτου, οι κακές επιλογές πλέγματος, οι μη ρεαλιστικές τιμές κινητικότητας, οι ανεπαρκώς καθορισμένες επαφές ή τα υπερβολικά μεγάλα βήματα πόλωσης μπορούν να προκαλέσουν την αποτυχία σύγκλισης του επιλυτή μεταφοράς-διάχυσης.

Εδώ, θα δημιουργήσουμε σκόπιμα μερικές απλές διαμορφώσεις που θα οδηγήσουν σε μη σύγκλιση, προκειμένου να διαγνώσουμε γιατί συμβαίνει αυτό και πώς να το διορθώσουμε. Αναπαράγοντας αυτές τις κοινές καταστάσεις αποτυχίας, θα μάθετε να αναγνωρίζετε τα συμπτώματα και να εφαρμόζετε τις κατάλληλες λύσεις (π.χ., προσαρμόζοντας το πλέγμα, μειώνοντας το μέγεθος του βήματος ή μετριάζοντας τις ακραίες παραμέτρους του υλικού) για να επιτύχετε μια σταθερή λύση.

1. Αστάθεια του επιλυτή λόγω υπερβολικά χαμηλής κινητικότητας.

Σε πολλές περιπτώσεις, προβλήματα σύγκλισης προκύπτουν από μη ρεαλιστικές τιμές εισόδου. Για να το καταδείξουμε, ορίζουμε σκόπιμα την κινητικότητα των φορέων σε 0 και εξετάζουμε τα σφάλματα που προκύπτουν. Φυσικά, η κινητικότητα δεν είναι ποτέ ακριβώς μηδέν σε ένα πραγματικό υλικό – έχει πάντα μια πεπερασμένη τιμή –, αλλά αυτό το παράδειγμα δείχνει τι συμβαίνει όταν στον επιλυτή δίνεται μια μη ρεαλιστική παράμετρος. Η κινητικότητα διαμορφώνεται στο Επεξεργαστής ηλεκτρικών παραμέτρων OFET. Εάν η τιμή οριστεί εκτός ενός φυσικά εύλογου εύρους, οι εξισώσεις μεταφοράς-διάχυσης μπορεί να γίνουν ασταθείς ή να αποτύχουν να συγκλίνουν.

Ανοίξτε τον επεξεργαστή των ηλεκτρικών παραμέτρων (Κεντρικό παράθυρο → Καρτέλα Συσκευή) και ορίστε την κινητικότητα στην τιμή 0, όπως φαίνεται στην εικόνα ??. Στη συνέχεια, εκτελέστε την προσομοίωση. Θα πρέπει να δείτε μια οθόνη σφάλματος παρόμοια με την ??, με δύο κόκκινα πλαίσια: ένα κάθετο πλαίσιο γύρω από την περίληψη των υπολοίπων και ένα οριζόντιο πλαίσιο κοντά στο μήνυμα σφάλματος.

Αν εξετάσετε το κάθετο κόκκινο πλαίσιο, θα δείτε το f()=2.54e2 και στη συνέχεια άλλες γραμμές όπου το f() είναι πολύ μεγάλο (π.χ. 1e15, 1e5, 1e8, 1e7). Εδώ, το f() είναι το σφάλμα υπολειμματικής τιμής του επιλυτή: ένα μέτρο του πόσο καλά ικανοποιούνται οι συνδεδεμένες εξισώσεις. Ιδανικά, η υπολειμματική τιμή του επιλυτή θα ήταν ακριβώς μηδέν, αν και στην πράξη αυτό δεν μπορεί ποτέ να επιτευχθεί. Μια υπολειμματική τιμή στην περιοχή από 1e−10 έως 1e−8 υποδεικνύει πολύ καλή σύγκλιση, ενώ οι τιμές γύρω από το 1e−1 εξακολουθούν να είναι αποδεκτές. Αντίθετα, οι υπολειμματικές τιμές στις εκατοντάδες (π.χ. 2.54e2) – ειδικά όταν συνοδεύονται από τιμές συνιστωσών τόσο μεγάλες όσο το 1e15 – είναι ένα σαφές σημάδι ότι ο επιλυτής δυσκολεύεται και το σύστημα έχει γίνει ασταθές.

Electrical parameters editor with mobility set to 0, a non-physical value that prevents carrier transport and causes solver errors.
Μηδενική κινητικότητα (μ = 0). Μια αφύσικη κατάσταση που εμποδίζει εντελώς τη μεταφορά και συνήθως προκαλεί μη σύγκλιση στην εξίσωση μεταφοράς-διάχυσης.
Solver crash trace showing failure after setting mobility to zero.
Προκύπτει σφάλμα λόγω μηδενικής κινητικότητας. Όταν μ = 0, οι εξισώσεις μεταφοράς γίνονται ασυνεπείς, με αποτέλεσμα η προσομοίωση να παρουσιάσει σφάλμα και τελικά να διακοπεί.

Το οριζόντιο κόκκινο πλαίσιο συνήθως αναφέρει τον λόγο για τον οποίο η προσομοίωση διακόπτεται: Holes asking for 3e5 but only defined in range [min, max]. Αυτό σημαίνει ότι η υπολογιζόμενη σχετική στάθμη Fermi υπερβαίνει το εύρος που έχει αποθηκευτεί σε πίνακα. Πριν ξεκινήσει, το μοντέλο προ-υπολογίζει σχέσεις, όπως η σχετική στάθμη Fermi σε σχέση με την πυκνότητα φορέων, σε ένα μεγάλο εύρος ενεργειών – στην πραγματικότητα, πολύ μεγαλύτερο από αυτό που θα περίμενε κανείς να βρει σε μια συσκευή. Όταν ο επιλυτής γίνεται ασταθής, το μοντέλο μπορεί να ζητήσει μη ρεαλιστικές τιμές που υπερβαίνουν κατά πολύ αυτό το εύρος· σε αυτό το σημείο, ο επιλυτής δεν μπορεί να υπολογίσει τις απαιτούμενες ποσότητες και σταματά.

Εν ολίγοις, ορίζοντας την κινητικότητα σε μια μη ρεαλιστική τιμή (μ = 0), αναγκάσαμε τις εξισώσεις να λειτουργήσουν σε ένα καθεστώς που δεν έχει φυσική σημασία, με αποτέλεσμα η αριθμητική μέθοδος να αποτύχει: εμφανίζονται μεγάλα υπόλοιπα, ακολουθεί αίτημα για τιμές εκτός των προϋπολογισμένων πινάκων και, στη συνέχεια, το πρόγραμμα σταματά να λειτουργεί. Είναι σημαντικό να σημειωθεί ότι αυτό το αποτέλεσμα δεν αποτελεί αδυναμία του μοντέλου ούτε σφάλμα του λογισμικού. Εισάγοντας μη ρεαλιστικές παραμέτρους, ο επιλυτής ωθείται σε ένα καθεστώς όπου δεν υπάρχει καμία μαθηματικά ή φυσικά έγκυρη λύση, και ως εκ τούτου δεν μπορεί να παράσχει ένα ουσιαστικό αποτέλεσμα.

2. Αστάθεια του επιλυτή λόγω υπερβολικά υψηλής κινητικότητας.

Σε αυτό το παράδειγμα, ορίζουμε την κινητικότητα των φορέων σε μ = 1×106 m²·V⁻¹·s⁻¹. Αυτή είναι μια σκόπιμα μη ρεαλιστική τιμή για ένα μοντέλο διάχυσης-μεταφοράς ημιαγωγών: μια τόσο μεγάλη τιμή θα μπορούσε να σχετίζεται με μεταλλικές αγώγιμες καταστάσεις και όχι με μεταφορά μέσω άλματος/ζώνης σε οργανικούς ή τυπικούς ημιαγωγούς. Στην πράξη, δεν θα χρησιμοποιούσατε μια τόσο μεγάλη τιμή για προσομοιώσεις OFET.

Εάν εκτελέσετε την προσομοίωση με αυτές τις ρυθμίσεις, θα παρατηρήσετε ότι ο επιλυτής δυσκολεύεται να συγκλίνει. Στην έξοδο των υπολοίπων (το πλαίσιο που εμφανίζει το f()), θα δείτε εξαιρετικά μεγάλα σφάλματα—π.χ. 1e24, 1e19, 1e21—που δεν μειώνονται. Είναι φυσιολογικό τα υπόλοιπα να είναι αυξημένα κατά τις πρώτες επαναλήψεις, καθώς ο επιλυτής αναζητά μια σταθερή κατάσταση, αλλά θα πρέπει να σταθεροποιηθούν γρήγορα σε μικρές τιμές. Η συνεχής εμφάνιση πολύ μεγάλων υπολοίπων αποτελεί σαφής ένδειξη ότι το σύστημα έχει γίνει αριθμητικά άκαμπτο ή μη φυσικό λόγω των επιλεγμένων παραμέτρων.

Το συμπέρασμα: αποφύγετε μη ρεαλιστικά υψηλές τιμές κινητικότητας. Οι υπερβολικές τιμές των συντελεστών μεταφοράς καθιστούν το σύστημα μερικών διαφορικών εξισώσεων πολύ άκαμπτο, προκαλώντας κακή σταθερότητα και μη σύγκλιση. Χρησιμοποιήστε φυσικά εύλογες τιμές μ για το υλικό σας και εκτελέστε ξανά την προσομοίωση με μέτριες τιμές βημάτων για να αποκαταστήσετε τη σταθερή συμπεριφορά.

Electrical parameters editor with an unrealistically high mobility set to 1×10^6 m²·V⁻¹·s⁻¹, which destabilises the solver.
Μη ρεαλιστική κινητικότητα (μ = 1 × 10⁶ m²·V⁻¹·s⁻¹). Εξαιρετικά μεγάλοι συντελεστές μεταφοράς δημιουργούν πολύ άκαμπτα συστήματα και συχνά οδηγούν σε αποτυχία του επιλυτή.
Solver error message caused by unrealistically high mobility settings that destabilise the numerical solution.
Προέκυψε σφάλμα λόγω υπερβολικά υψηλής κινητικότητας. Οι πολύ μεγάλες τιμές μ καθιστούν το σύστημα μερικών διαφορικών εξισώσεων υπερβολικά άκαμπτο, οδηγώντας σε αστάθεια και αποτυχία του επιλυτή.

3. Ελαττωματικές δομές συσκευών και μη επιλυμένα προβλήματα στις επαφές.

Σε αυτό το παράδειγμα, ανοίγουμε τον επεξεργαστή επαφών και ορίζουμε το πλάτος της επαφής της πηγής σε μια πολύ μικρή τιμή (βλ. ??), συγκεκριμένα σε ένα μικρόμετρο. Με την πρώτη ματιά, αυτό μπορεί να μην φαίνεται προβληματικό, αλλά δημιουργεί ένα λεπτό πρόβλημα: η προσομοίωση βασίζεται σε ένα πλέγμα πεπερασμένων διαφορών, όπου ποσότητες όπως το ηλεκτρικό πεδίο και η πυκνότητα φορέων υπολογίζονται μόνο στα καθορισμένα σημεία του πλέγματος.

Εάν εξετάσετε τον Επεξεργαστή Ηλεκτρικού Πλέγματος (που βρίσκεται στην καρτέλα "Ηλεκτρικά"), θα παρατηρήσετε ότι αυτή η εξαιρετικά λεπτή επαφή ενός μικρομέτρου βρίσκεται ανάμεσα στα σημεία του πλέγματος (δείτε ??). Ως αποτέλεσμα, η επαφή "παραβλέπεται" ουσιαστικά από το πλέγμα πεπερασμένων διαφορών και δεν εφαρμόζεται σωστά στη δομή της συσκευής. Αυτό δημιουργεί μια ασυμφωνία μεταξύ της καθορισμένης γεωμετρίας και του αριθμητικού πλέγματος, εμποδίζοντας την προσομοίωση να συγκλίνει.

Για να διορθώσετε αυτό, μπορείτε είτε να αυξήσετε το πάχος της επαφής, έτσι ώστε να επικαλύπτει τουλάχιστον ένα σημείο του πλέγματος, είτε να αυξήσετε την πυκνότητα του πλέγματος (δηλαδή, να προσθέσετε περισσότερα σημεία) στο πλέγμα πεπερασμένων διαφορών, ώστε η επαφή να αποτυπώνεται σωστά.

Layer editor showing the source contact set to an extremely thin width—much smaller than the mesh spacing—which leads to non-convergence.
Η πηγή επαφής έχει οριστεί σε μια ασυνήθιστα μικρή τιμή (μικρότερη από την απόσταση των κόμβων του πλέγματος). Αυτά τα υπο-στοιχεία του πλέγματος προκαλούν προβληματικές οριακές συνθήκες και συνήθως εμποδίζουν τη σύγκλιση.
Mesh settings panel showing a typical 2D OFET mesh with about 10 divisions along X—a stable baseline configuration.
Τυπική, σταθερή διαμέριση πλέγματος για 2D OFET: περίπου 10 σημεία κατά μήκος του άξονα X. Ένα μέτριο πλέγμα διατηρεί το σύστημα σε καλή κατάσταση και συνήθως εξασφαλίζει σύγκλιση.

4. Πυκνότητα πλέγματος, σύγκλιση και υπερβολική βελτίωση.

Μια συνηθισμένη λανθασμένη αντίληψη όταν ξεκινά κανείς με αριθμητικά μοντέλα πεπερασμένων διαφορών είναι ότι περισσότερα σημεία στο πλέγμα οδηγούν αυτόματα σε πιο ακριβή αποτελέσματα. Η λογική που συνήθως ακολουθεί είναι: «πέντε σημεία στο πλέγμα σίγουρα δεν είναι αρκετά, αλλά χίλια πρέπει να είναι εξαιρετικά». Στην πράξη, όμως, δεν ισχύει αυτό.

Το OghmaNano χρησιμοποιεί μια μέθοδο διακριτοποίησης που ονομάζεται σχήμα Scharfetter–Gummel, η οποία υπολογίζει με ακρίβεια ποσότητες όπως η πυκνότητα φορέων και το δυναμικό μεταξύ των σημείων του πλέγματος. Ο επιλυτής δεν υποθέτει απλώς μια γραμμική συμπεριφορά μεταξύ των κόμβων· αντ' αυτού, χρησιμοποιεί μια εκθετική προσέγγιση προσαρμογής που αποτυπώνει τη φυσική της μεταφοράς με μεγάλη ακρίβεια, ακόμη και σε σχετικά χονδροειδή πλέγματα. Αυτό σημαίνει ότι μπορείτε να επιτύχετε καλή ακρίβεια με εκπληκτικά λίγα σημεία.

Η αύξηση της πυκνότητας του πλέγματος δεν αυξάνει μόνο τον χρόνο εκτέλεσης – μπορεί στην πραγματικότητα να μειώσει τη σταθερότητα και την ακρίβεια. Ένα πιο λεπτομερές πλέγμα δημιουργεί ένα μεγαλύτερο σύστημα εξισώσεων, καθιστώντας το αριθμητικό πρόβλημα πιο δύσκολο στην επίλυση. Ως αποτέλεσμα, ο πίνακας γίνεται πιο άκαμπτος, τα υπόλοιπα μπορεί να αυξηθούν και ο επιλυτής μπορεί να δυσκολευτεί να συγκλίνει.

Υπάρχει πάντα μια ισορροπία μεταξύ της ακριβούς αναπαράστασης της φυσικής, της διατήρησης ενός εύλογου χρόνου προσομοίωσης και της αποφυγής περιττών αριθμητικών σφαλμάτων. Οι παρακάτω εικόνες το απεικονίζουν: με 100 σημεία πλέγματος σε όλη τη συσκευή, ο επιλυτής αρχικά αναφέρει πολύ μεγάλα υπόλοιπα (π.χ. 1e6, 1e5). Μόνο μετά από πολλές επαναλήψεις σταθεροποιείται σε εύλογες τιμές f(). Αυτή η αστάθεια προκύπτει επειδή το πλέγμα είναι υπερβολικά λεπτό, γεγονός που καθιστά το σύστημα δύσκολο στην επεξεργασία από τον επιλυτή.

Mesh settings panel with the X-mesh set to 100 divisions, far higher than normally required for a 2D OFET.
Υπερβολική διαμεσοποίηση: X-mesh = 100 σημεία. Η υπερβολική λεπτομέρεια στα πλέγματα αυξάνει το μέγεθος και την ακαμψία του συστήματος, καθιστώντας τον δισδιάστατο επιλυτή αργό και επιρρεπή σε προβλήματα σύγκλισης.
Solver error dialog highlighted in red after using an excessively high number of mesh points.
Σφάλμα που προκαλείται από υπερβολικά λεπτομερές πλέγμα. Η υπερβολική πυκνότητα του πλέγματος αυξάνει την ακαμψία και την απαιτούμενη μνήμη, με αποτέλεσμα σφάλματα στον επιλυτή (κόκκινο πλαίσιο).

👉 Επόμενα βήματα: