Ρυθμίσεις για τον Επίλυτη Εξισώσεων Μεταφοράς-Διάχυσης
Ο επιλυτής Drift-Diffusion μπορεί να διαμορφωθεί επιλέγοντας την επιλογή "Διαμόρφωση" από την κορδέλα "Ηλεκτρικά". Αυτό ανοίγει το παράθυρο διαμόρφωσης του επιλυτή, όπου μπορούν να ρυθμιστούν αριθμητικές ιδιότητες, όπως τα όρια επαναλήψεων, οι ανοχές σφάλματος και οι στρατηγικές σύγκλισης. Αυτές οι επιλογές επιτρέπουν στον χρήστη να ελέγχει την απόδοση και τη σταθερότητα του επιλυτή για διαφορετικές προσομοιώσεις συσκευών.
Ρύθμιση του ηλεκτρικού επιλυτή.
Η ηλεκτρική μηχανή της OghmaNano επιλύει ένα σύνολο μη γραμμικών εξισώσεων που είναι στενά συνδεδεμένες μεταξύ τους (Poisson + εξίσωση μεταφοράς-διάχυσης, καθώς και οποιαδήποτε ενεργοποιημένη κινητική). Αυτές οι εξισώσεις περιέχουν εκθετικές συναρτήσεις και ισχυρές συνδέσεις, επομένως επιλύονται επαναληπτικά χρησιμοποιώντας μια μέθοδο Newton-Raphson σε μια ενιαία, συνολική Ιακωβιανή μήτρα. Συνήθως, δεν θα χρειαστεί να αλλάξετε τις προεπιλεγμένες ρυθμίσεις, αλλά το πάνελ διαμόρφωσης σάς επιτρέπει να σταθεροποιήσετε δύσκολες περιπτώσεις, να επιταχύνετε τις εύκολες ή να ελέγξετε πώς συμπεριφέρεται η αριθμητική μέθοδος.
Ανοίξτε τη διαμόρφωση μεταβαίνοντας στην καρτέλα «Ηλεκτρικά», επιλέγοντας «Διάχυση-μετατόπιση» και επιλέγοντας «Διαμόρφωση» — δείτε Άνοιγμα Επίλυτη Διάχυσης-Μετατόπισης. Αυτό θα ανοίξει το παράθυρο που εμφανίζεται στην Παράθυρο Επίλυτης Διάχυσης-Μετατόπισης, όπου μπορείτε να ρυθμίσετε τον τρόπο με τον οποίο ο επίλυτης επαναλαμβάνει τις υπολογιστικές διαδικασίες και συγκλίνει στην τελική λύση.
Τι ελέγχει κάθε ενότητα.
Το πάνελ χωρίζεται σε τέσσερα κύρια τμήματα που ελέγχουν διαφορετικές φάσεις μιας εκτέλεσης: Πρώτη επανάληψη, Επόμενες επαναλήψεις, Αύξηση της τάσης και Στρατηγική εξόδου. Σε όλες τις φάσεις, η βασική ιδέα είναι η ίδια: ξεκινήστε με μια εκτίμηση, ενημερώστε τις άγνωστες μεταβλητές με βήματα Newton και σταματήστε όταν το συνολικό σφάλμα είναι αρκετά μικρό. Ένας περιοριστής ορίζει το μέγιστο εύρος ενημέρωσης ανά βήμα, ώστε να αποτρέπεται ο αλγόριθμος από το να μεταπηδά σε μη φυσικές περιοχές. Μικροί περιοριστές → πιο αργή αλλά πολύ σταθερή λειτουργία· μεγάλοι περιοριστές → πιο γρήγορη αλλά δυνητικά ασταθής λειτουργία.
Πρώτη επανάληψη
- Μέγιστος αριθμός ηλεκτρικών επαναλήψεων (πρώτο βήμα) — Άνω όριο για τον αριθμό των βημάτων του Newton κατά την πρώτη επίλυση (συνήθως σε 0 V σε σκοτεινό περιβάλλον). Μια μεγαλύτερη τιμή βοηθά σε δύσκολες περιπτώσεις εκκίνησης σε χαμηλή θερμοκρασία.
- Ηλεκτρικός περιοριστής (πρώτο βήμα) — Περιορίζει τη μέγιστη τιμή της αλλαγής Newton στο πρώτο βήμα. Ως γενικός κανόνας: η τιμή 0,1 είναι πολύ ασφαλής (αργή), η 1,0 είναι μια καλή προεπιλογή, ενώ η τιμή ≥2,0 μπορεί να είναι γρήγορη, αλλά λιγότερο σταθερή.
- Επιθυμητό όριο σφάλματος του επιλυτή (πρώτο βήμα) — Στόχος σύγκλισης για την πρώτη επίλυση (μικρότερη τιμή = μεγαλύτερη ακρίβεια, αλλά πιο αργή επίλυση). Συνήθης αποδεκτή τιμή: όχι χειρότερη από \(1\times10^{-5}\). Για πιο σταθερή εκκίνηση, μπορείτε να ορίσετε τις τιμές \(1\times10^{-8}\)–\(1\times10^{-9}\).
Μεταγενέστερες εκδόσεις.
- Μέγιστος αριθμός ηλεκτρικών επαναλήψεων – Όριο επαναλήψεων για όλες τις επόμενες λύσεις μετά την πρώτη.
- Ηλεκτρική σφιγκτήρας — Όπως και παραπάνω, αλλά εφαρμόζεται σε κάθε σκαλοπάτι εκτός από το πρώτο. Συχνά, μπορείτε να χαλαρώσετε την εφαρμογή σε σύγκριση με το πρώτο σκαλοπάτι, για να αυξήσετε την ταχύτητα.
- Επιθυμητό όριο σφάλματος του επιλυτή — Στόχος σύγκλισης για τα βήματα της ρουτίνας. Διατηρήστε τη συνέπεια με τις απαιτήσεις ακρίβειας σας· οι τιμές \(1\times10^{-6}\)–\(1\times10^{-8}\) είναι συνήθεις.
Ραμπάδα τάσης
Όταν αυξάνετε σταδιακά την τάση από μια αρχική τιμή (π.χ. 0 V) σε ένα επιθυμητό σημείο λειτουργίας (πιθανώς υψηλή τάση), οι ενδιάμεσες λύσεις συχνά αποτελούν απλώς ενδιάμεσα σημεία. Αυτό το μπλοκ σάς επιτρέπει να χρησιμοποιείτε πιο χαλαρές ανοχές ή διαφορετικά όρια για να περάσετε πιο γρήγορα από τη σταδιακή αύξηση της τάσης, διατηρώντας παράλληλα αυστηρές τις τελικές λύσεις του σημείου λειτουργίας.
- Μέγιστος αριθμός ηλεκτρικών επαναλήψεων (κύκλος) — Όριο για κάθε βήμα του κύκλου.
- Ηλεκτρική σύσφιξη (ράμπα) — Έλεγχος του μεγέθους βήματος κατά τη διάρκεια της ράμπας.
- Επιθυμητό όριο σφάλματος του επιλυτή (κατά τη διάρκεια της φάσης προσαρμογής) — Ο στόχος σύγκλισης χρησιμοποιείται μόνο για τα βήματα της φάσης προσαρμογής.
- Ελάχιστος αριθμός επαναλήψεων Newton — Επιβάλλεται η εκτέλεση τουλάχιστον τόσων βημάτων, ώστε ο επιλυτής να μην τερματίσει πρόωρα, απλώς και μόνο επειδή η αρχική υπολειπόμενη τιμή είναι τυχαία μικρή.
στρατηγική εξόδου
- Έξυπνη έξοδος του επιλυτή Newton — Εάν το υπόλοιπο «κυμαίνεται μέσα στον θόρυβο» (κινείται πάνω-κάτω χωρίς κάποια τάση), σταματήστε τις επαναλήψεις και αποδεχτείτε την καλύτερη κατάσταση που έχει επιτευχθεί μέχρι στιγμής.
- Εφαρμόστε τον νόμο των ρευμάτων του Κίρχοφ στον επιλυτή Newton – Ενσωματώστε τους περιορισμούς του KCL απευθείας στην Ιακωβιανή μήτρα για αυστηρότερη συνέχεια του ρεύματος.
- Διακοπή σε περίπτωση προβλημάτων σύγκλισης / Διακοπή σε περίπτωση αντιστροφής της στάθμης Fermi — Μέτρα ασφαλείας για την αυτόματη διακοπή σε περίπτωση εμφανώς προβληματικών καταστάσεων.
Τύπος και εργαλεία του επιλυτή.
- Επιλέξτε τον αλγόριθμο για την επίλυση με τη μέθοδο του Newton:
none— Καμία ηλεκτρική λύση (μόνο οπτική/θερμική).newton— Τυπικός επιλυτής του Νεύτωνα 1D.
- Επιλύτης πινάκων / Επιλύτης σύνθετων πινάκων — Επιλέξτε την υποκείμενη μηχανή επίλυσης γραμμικών εξισώσεων.
- Slotboom T0 / D0 / n0 — Παράμετροι για το
newtonnorm. - Χρησιμοποιήστε την προσωρινή μνήμη Newton (πειραματική) — Αποθηκεύστε μεγάλα ενδιάμεσα δεδομένα στο δίσκο για να μειώσετε την πίεση στη μνήμη (πειραματική).
- Επίπεδο λεπτομέρειας της εξόδου του επιλυτή — Καθορίζει πόσες πληροφορίες σχετικά με την πρόοδο εκτυπώνονται.
Πρακτικές οδηγίες
Εάν μια περίπτωση είναι ευαίσθητη (υψηλή προσμείκνυση, ακραία πεδία, ισχυρή έγχυση), μειώστε την τιμή της παραμέτρου "clamp" και αυξήστε την ανοχή του πρώτου βήματος. Για απλές περιπτώσεις με προβλέψιμη συμπεριφορά, αυξήστε την τιμή της παραμέτρου "clamp" για να επιτύχετε μεγαλύτερη ταχύτητα. Χρησιμοποιήστε το μπλοκ "ramp" για να μετακινηθείτε γρήγορα στο σημείο λειτουργίας και, στη συνέχεια, εφαρμόστε αυστηρότερες ανοχές σε αυτό το σημείο.
Δείτε επίσης: Το σημείο εισόδου διαμόρφωσης που εμφανίζεται στο DD Solver Open και το πλήρες παράθυρο διαλόγου στο DD Solver Window.
Σταθερότητα του επιλυτή
Το OghmaNano είναι ένας αριθμητικός προσομοιωτής που επιλύει ένα σύνολο αλληλένδετων διαφορικών εξισώσεων για το φορτίο, το δυναμικό και την ανασύνθεση. Όπως κάθε αριθμητικός επιλυτής, απαιτεί ρεαλιστικές φυσικές παραμέτρους εισόδου για να συγκλίνει με επιτυχία. Τιμές που είναι ακριβώς μηδέν, άπειρα μεγάλες ή κατανέμονται σε πάρα πολλά μεγεθιακά επίπεδα μπορούν να προκαλέσουν αστάθεια στις υποκείμενες αριθμητικές πράξεις. Για να σας βοηθήσουμε να αποφύγετε αυτά τα προβλήματα, αυτή η ενότητα επισημαίνει ορισμένες πρακτικές πτυχές κατά τη διαμόρφωση των προσομοιώσεών σας.
Αποφυγή πολύ μεγάλων και πολύ μικρών αριθμών.
Ανοίξτε το MATLAB (ή το Octave σε Linux) και πληκτρολογήστε την ακόλουθη έκφραση: \(((1e-1+1e1)-1e1)/1e-1\). Πριν πατήσετε το Enter, υπολογίστε το νοερά: οι όροι \(1e1\) και \(-1e1\) αλληλοαναιρούνται, αφήνοντας \(\frac{1e-1}{1e-1}=1\). Τώρα αντικαταστήστε τις δυνάμεις του 10 με το 19 και δοκιμάστε: \(((1e-19+1e19)-1e19)/1e-19\). Και πάλι, θεωρητικά, το αποτέλεσμα θα πρέπει να είναι \(1\).
Ωστόσο, όταν αφήσετε τον υπολογιστή να το υπολογίσει, η απάντηση θα είναι \(0\) και όχι \(1\). Αυτό συμβαίνει επειδή οι υπολογιστές αποθηκεύουν τους αριθμούς με περιορισμένη ακρίβεια (περίπου 15–16 δεκαδικά ψηφία σε έναν σύγχρονο υπολογιστή). Όταν προσθέτετε το \(1e-19\) στο \(1e19\), ο μικρότερος όρος χάνεται κατά τη στρογγυλοποίηση, οπότε ο υπολογιστής βλέπει το \(1.000000000000000e19\) αντί για το \(1.0000000000000000001e19\). Η αφαίρεση του \(1e19\) δίνει ακριβώς μηδέν και η συνεισφορά του \(1e-19\) εξαφανίζεται.
Η αριθμητική ακρίβεια είναι σημαντική.
Εάν η προσομοίωσή σας περιλαμβάνει παραμέτρους που καλύπτουν ένα πολύ μεγάλο εύρος τιμών, ο επιλυτής ενδέχεται να χάσει την ακρίβειά του. Προσπαθήστε να αποφεύγετε ακραίες αναλογίες, ειδικά στην κινητικότητα ή στην πυκνότητα των καταστάσεων, για να διασφαλίσετε τη σταθερότητα.
Όλοι οι υπολογιστές επηρεάζονται από αυτό, ανεξάρτητα από την ισχύ τους. Όσον αφορά τις προσομοιώσεις συσκευών, αυτό σημαίνει ότι θα πρέπει να αποφεύγετε εύρη παραμέτρων που δημιουργούν πίνακες με πολύ μεγάλους και πολύ μικρούς αριθμούς ταυτόχρονα. Για παράδειγμα, η χρήση κινητικότητας \(1e-19\) παράλληλα με \(1e5\) θα προκαλέσει αριθμητικές δυσκολίες. Αυτό είναι ιδιαίτερα σημαντικό κατά την προσομοίωση μονωτών.
Αποφύγετε τα μηδενικά.
Οι μηδενικές τιμές προκαλούν σφάλματα διαίρεσης με το μηδέν. Μην ορίζετε τις κινητικότητες, τις διατομές σύλληψης, τις κλίσεις της ουράς ή τις πυκνότητες των καταστάσεων ακριβώς σε μηδέν. Είναι αποδεκτό να χρησιμοποιείτε το μηδέν για τις σταθερές ανασύνθεσης.
⚠️ Αποφύγετε τις ακριβείς τιμές μηδέν.
Αντικαταστήστε τα μηδενικά με πολύ μικρές τιμές (π.χ. \(1e-30\)) για να αποφύγετε αριθμητικές αστάθειες, διατηρώντας παράλληλα μια καλή προσέγγιση των τιμών που είναι «σχεδόν μηδέν».
Πολύ μεγάλα βήματα στην ενεργειακή ζώνη.
Μεγάλα διακριτά βήματα ενέργειας στο ενεργειακό χάσμα δημιουργούν πυκνότητες φορέων που είναι είτε εξαιρετικά μικρές είτε εξαιρετικά μεγάλες, γεγονός που οδηγεί άμεσα στα ίδια προβλήματα ακρίβειας που περιγράφονται στο Αποφυγή πολύ μεγάλων και πολύ μικρών αριθμών. Διατηρήστε την διακριτοποίηση της ενέργειας αρκετά λεπτή ώστε να αποφεύγονται μη φυσικές μεταπτώσεις.
🔍 Ελέγξτε το πλέγμα σας.
Εάν η διακριτοποίηση του ενεργειακού διαστήματος είναι πολύ χονδροειδής, ενδέχεται να δημιουργήσετε μη ρεαλιστικές πυκνότητες φορέων. Βελτιώστε το πλέγμα για να διατηρήσετε τις τιμές εντός ενός αριθμητικά σταθερού εύρους.