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

Η μορφή αρχείου Oghma.

1. Τι είναι το JSON;

OghmaNano sim.json file opened in the Firefox browser showing structured JSON parameters
Ένα παράδειγμα αρχείου sim.json που ανοίγει στο Firefox, το οποίο απεικονίζει την υποκείμενη δομή JSON μιας προσομοίωσης OghmaNano.

Το OghmaNano αποθηκεύει τις πληροφορίες προσομοίωσής του σε ένα αρχείο JSON. Το JSON (JavaScript Object Notation) είναι μια πολύ απλή, μορφή βασισμένη σε κείμενο, για την αποθήκευση και τη μεταφορά δομημένων δεδομένων. Χρησιμοποιείται ευρέως σε επιστημονικό λογισμικό επειδή είναι ταυτόχρονα αναγνώσιμο από τον άνθρωπο και επεξεργάσιμο από μηχανή. Μπορείτε να δείτε γενικά παραδείγματα δομών JSON στη διεύθυνση https://json.org/example.html.

Για να καταδείξουμε πώς λειτουργεί το JSON, παρακάτω υπάρχει ένα απλό παράδειγμα. Ένα αρχείο JSON δημιουργείται από ενότητες που ξεκινούν και τελειώνουν με άγκιστρα { }. Κάθε ενότητα περιέχει στοιχεία ή ετικέτες, όπως "color_of_dog", "dog_age" ή "dogs_toys". Αυτά τα στοιχεία πρέπει πάντα να γράφονται μέσα σε διπλά εισαγωγικά και ακολουθούνται από μια άνω τελεία : και στη συνέχεια από την αντίστοιχη τιμή δεδομένων. Οι τιμές κειμένου τοποθετούνται μέσα σε διπλά εισαγωγικά, ενώ οι αριθμοί, όπως οι ακέραιοι ή οι δεκαδικοί, γράφονται χωρίς εισαγωγικά. Στο OghmaNano, οι τιμές που μοιάζουν με boolean αποθηκεύονται ως οι συμβολοσειρές "true" ή "false". Για να είναι έγκυρο το αρχείο, όλα τα ανοιγμένα και κλειστά άγκιστρα πρέπει να ευθυγραμμίζονται σωστά. Τα στοιχεία μέσα σε μια ενότητα διαχωρίζονται με κόμματα, εκτός από το τελευταίο στοιχείο, το οποίο δεν τελειώνει με κόμμα. ??.


{
  "color_of_dog": "brown",
  "dog_age": 5,
  "dogs_toys":
  {
    "rabbit": "true",
    "stick": "false"
  }
}
Παράδειγμα μιας απλής δομής JSON.

Η OghmaNano χρησιμοποιεί τις ίδιες αρχές JSON για να αποθηκεύσει όλα τα δεδομένα προσομοίωσής της. Αυτές οι πληροφορίες περιέχονται σε ένα αρχείο με όνομα sim.json, το οποίο περιέχει όλες τις παραμέτρους της συσκευής, τις ρυθμίσεις προσομοίωσης και τη διαμόρφωση εξόδου. Κάθε προσομοίωση θα έχει το δικό της αρχείο sim.json. Ενώ μπορείτε να ανοίξετε αυτό το αρχείο σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου, συχνά είναι ευκολότερο να χρησιμοποιήσετε ένα ειδικό πρόγραμμα προβολής JSON, καθώς αυτό θα μορφοποιήσει τα δεδομένα σε μια εύκολη στην ανάγνωση δενδρική δομή. Το Firefox διαθέτει ένα καλό ενσωματωμένο πρόγραμμα προβολής JSON. Ένα παράδειγμα ενός αρχείου sim.json που προβάλλεται στο Firefox εμφανίζεται παρακάτω στην εικόνα ??.

Ένα τελευταίο σημείο: αν και το sim.json είναι το βασικό αρχείο διαμόρφωσης, δεν αποθηκεύεται πάντα αυτόνομα. Αντίθετα, το OghmaNano συχνά το ενσωματώνει μέσα σε ένα αρχείο sim.oghma, το οποίο είναι απλώς ένα τυπικό αρχείο ZIP – αυτό γίνεται για εξοικονόμηση χώρου. Εάν μετονομάσετε το sim.oghma σε sim.zip, μπορείτε να το ανοίξετε με τον Windows Explorer ή οποιοδήποτε πρόγραμμα προβολής αρχείων ZIP και να εξαγάγετε το sim.json. Εάν τοποθετήσετε ένα αντίγραφο του sim.json στον ίδιο φάκελο προσομοίωσης και μετονομάσετε ξανά το αρχείο σε sim.oghma, το OghmaNano θα αγνοήσει την αρχειοθετημένη έκδοση του sim.json και θα χρησιμοποιήσει το απλό αρχείο κειμένου sim.json που έχετε. Αυτή η δυνατότητα είναι εξαιρετικά χρήσιμη για την αυτοματοποίηση, καθώς μπορείτε να επεξεργαστείτε απευθείας το sim.json χρησιμοποιώντας οποιαδήποτε γλώσσα προγραμματισμού, χωρίς να χρειάζεται να χειριστείτε αρχεία ZIP.

2. Η μορφή αρχείου OghmaNano.

Η OghmaNano εφαρμόζει ακριβώς αυτές τις αρχές στο αρχείο διαμόρφωσης προσομοίωσης, το οποίο ονομάζεται sim.json. Αυτό το αρχείο περιέχει όλα όσα απαιτούνται για την περιγραφή μιας δομής συσκευής, τον ορισμό των προσομοιώσεων που θα εκτελεστούν και τη διαμόρφωση των επιλυτών. Κάθε κατάλογος προσομοίωσης θα περιλαμβάνει το δικό του sim.json. Αν και μπορείτε να ανοίξετε αυτό το αρχείο σε οποιονδήποτε επεξεργαστή κειμένου, συχνά είναι πιο βολικό να χρησιμοποιήσετε ένα πρόγραμμα προβολής JSON, όπως το Firefox, το οποίο παρουσιάζει αυτόματα τα δεδομένα σε μια μορφοποιημένη δενδρική προβολή.

Στο υψηλότερο επίπεδο, το sim.json είναι οργανωμένο σε έναν μικρό αριθμό κύριων ενοτήτων. Αυτές οι ενότητες στη συνέχεια διακλαδίζονται σε λεπτομερέστερες υποενότητες, όπως οι σαρώσεις JV, οι εκτελέσεις EQE ή οι ορισμοί των στρωμάτων της συσκευής. Οι κύριες ενότητες που υπάρχουν στην τρέχουσα μορφή συνοψίζονται στον παρακάτω πίνακα: ??.

Current top-level sections in sim.json
Ενότητα Σκοπός
simΓενικά μεταδεδομένα (π.χ., έκδοση, τρόπος λειτουργίας, σημειώσεις)
simsΌλοι οι ορισμοί προσομοίωσης (JV, Suns-Voc, EQE, PL, χρονική περιοχή, ακτίνες, FDTD, κ.λπ.)
epitaxyΔομή της συσκευής: στρώματα, επαφές, γεωμετρία, υλικά.
mathΡυθμίσεις και όρια ανοχής για τον αριθμητικό επιλυτή.
opticalΟπτικά μοντέλα, πηγές, ανιχνευτές, πλέγματα
dumpΈλεγχοι εξόδου: επίπεδο λεπτομέρειας, έλεγχοι, μορφές αρχείων.
serverΧρόνος εκτέλεσης/παραλληλοποίηση (νήματα, GPU, χρονικά όρια)
Εντοπίστηκαν οι κύριοι τομείς ανώτατου επιπέδου στο sim.json.

3. Ιδιαίτερα χαρακτηριστικά της μορφής JSON του OghmaNano.

4. Κωδικοποίηση

Τα αρχεία .json που διαβάζει/εγγράφει το OghmaNano αποθηκεύονται πάντα σε μορφή UTF-8. Το OghmaNano δεν μπορεί να χειριστεί την κωδικοποίηση UTF-16 ή οποιαδήποτε άλλη μορφή κωδικοποίησης κειμένου. Σήμερα, το Windows Notepad και οι περισσότερες άλλες εφαρμογές χρησιμοποιούν από προεπιλογή την κωδικοποίηση UTF-8, οπότε αν δεν γνωρίζετε τι είναι αυτές οι μορφές αποθήκευσης κειμένου, πιθανότατα δεν έχει σημασία. Αυτό θα γίνει πρόβλημα μόνο αν αρχίσετε να δημιουργείτε προγραμματιστικά αρχεία .oghma σε μια γλώσσα όπως η C++ και χρησιμοποιείτε μια γλώσσα όπως η Κινεζική ή η Ρωσική, οι οποίες έχουν μη λατινικούς χαρακτήρες στο αλφάβητό τους.

5. Συμβατότητα του μορφότυπου αρχείου με παλαιότερες και νεότερες εκδόσεις.

Καταβάλλονται σημαντικές προσπάθειες για να διασφαλιστεί ότι οι νέες εκδόσεις του OghmaNano μπορούν να διαβάσουν αρχεία που δημιουργήθηκαν σε παλαιότερες εκδόσεις. Ωστόσο, οι παλαιότερες εκδόσεις του OghmaNano ενδέχεται να μην μπορούν να διαβάσουν αρχεία που δημιουργήθηκαν σε νεότερες εκδόσεις. Κάθε φορά που ο χρήστης ανοίγει ένα αρχείο sim.oghma χρησιμοποιώντας το GUI, ελέγχεται η μορφή του αρχείου και, εάν διαφέρει από αυτή που χρησιμοποιείται στην τρέχουσα έκδοση, το αρχείο ενημερώνεται και αποθηκεύεται ξανά στο δίσκο. Εάν χρησιμοποιείτε το OghmaNano σε μια διαμόρφωση χωρίς GUI, καλώντας απευθείας το \(oghma\_core.exe\), τότε, όταν χρησιμοποιείτε αρχεία sim.oghma από παλαιότερες εκδόσεις του μοντέλου, πριν εκτελέσετε το \(oghma\_core.exe\), βεβαιωθείτε ότι το έχετε ανοίξει πρώτα στο GUI, για να βεβαιωθείτε ότι το αρχείο είναι στη σωστή μορφή.

6. Συμβουλές

Εάν δεν είστε σίγουροι πού αποθηκεύεται μια συγκεκριμένη παράμετρος στο αρχείο OghmaNano sim.json, μια πολύ αποτελεσματική μέθοδος είναι να συγκρίνετε δύο εκδόσεις του αρχείου και να δείτε ποιες αλλαγές έχουν γίνει. Ένας τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε ένα εργαλείο σύγκρισης αρχείων, όπως το KDiff3.

Η διαδικασία είναι απλή:

  1. Ανοίξτε την προσομοίωσή σας στο περιβάλλον χρήστη του OghmaNano.
  2. Ρυθμίστε την παράμετρο που σας ενδιαφέρει (για παράδειγμα, αλλάξτε το πάχος της ενεργού στρώσης ή μια ρύθμιση τάσης) και αποθηκεύστε την προσομοίωση.
  3. Συγκρίνετε το νέο αρχείο sim.json με την προηγούμενη έκδοση χρησιμοποιώντας το KDiff3 (ή κάποιο άλλο εργαλείο σύγκρισης).
  4. Εντοπίστε τις γραμμές που διαφέρουν: αυτές θα δείξουν ακριβώς πού, μέσα στη δομή JSON, είναι αποθηκευμένη η συγκεκριμένη παράμετρος.

Αυτή η τεχνική αποτελεί έναν γρήγορο και αξιόπιστο τρόπο για να εντοπίσετε παραμέτρους σε ένα αρχείο JSON, ακόμα και αν δεν είστε σίγουροι για τη διαδρομή τους μέσα στο αρχείο. Είναι ιδιαίτερα χρήσιμη για πολύπλοκες προσομοιώσεις με πολλές ενσωματωμένες ενότητες.

👉 Επόμενο βήμα: Συνεχίστε στην ενότητα Εξερεύνηση του εργαλείου Σάρωσης Παραμέτρων, όπου θα μάθετε πώς να τροποποιείτε συστηματικά τις παραμέτρους προσομοίωσης και να αναλύετε τα αποτελέσματα.