Strona główna Przykłady Zrzuty ekranu Instrukcja obsługi Logo Bluesky. YouTube ☰
OghmaNano Platforma do symulacji wielofizycznych procesów zachodzących w optoelektronicznych urządzeniach i systemach fotonicznych. POBIERZ Przewodnik szybkiego uruchomienia

Format pliku Oghma.

1. Czym jest JSON?

OghmaNano sim.json file opened in the Firefox browser showing structured JSON parameters
Przykład pliku sim.json otwartego w przeglądarce Firefox, prezentujący strukturę JSON, na której opiera się symulacja OghmaNano.

OghmaNano przechowuje dane dotyczące symulacji w pliku JSON. JSON (JavaScript Object Notation) to bardzo prosty, tekstowy format służący do przechowywania i przesyłania danych o ustrukturyzowanej formie. Jest on powszechnie stosowany w oprogramowaniu naukowym, ponieważ jest łatwy do odczytania zarówno przez człowieka, jak i przez komputer. Przykładowe struktury JSON można znaleźć pod adresem https://json.org/example.html.

Aby zilustrować, jak działa JSON, poniżej znajduje się prosty przykład. Plik JSON składa się z sekcji, które rozpoczynają się i kończą nawiasami klamrowymi { }. Każda sekcja zawiera tokeny lub etykiety, takie jak "color_of_dog", "dog_age" lub "dogs_toys". Tokeny te zawsze muszą być zapisywane w podwójnych cudzysłowach, a po nich występuje dwukropek :, a następnie odpowiednia wartość danych. Wartości tekstowe umieszcza się w podwójnych cudzysłowach, natomiast liczby, takie jak liczby całkowite lub dziesiętne, zapisuje się bez cudzysłowów. W OghmaNano wartości podobne do wartości logicznych są przechowywane jako ciągi znaków "true" lub "false". Aby plik był poprawny, wszystkie nawiasy otwierające i zamykające muszą być prawidłowo dopasowane. Elementy w obrębie sekcji są oddzielone przecinkami, z wyjątkiem ostatniego elementu, który nie kończy się przecinkiem ??.


{
  "color_of_dog": "brown",
  "dog_age": 5,
  "dogs_toys":
  {
    "rabbit": "true",
    "stick": "false"
  }
}
Przykład prostej struktury JSON.

OghmaNano wykorzystuje te same zasady JSON do przechowywania wszystkich danych symulacji. Informacje te znajdują się w pliku o nazwie sim.json, który zawiera wszystkie parametry urządzenia, ustawienia symulacji i konfigurację wyjściową. Każda symulacja będzie miała swój własny plik sim.json. Chociaż można otworzyć ten plik w dowolnym edytorze tekstu, często łatwiej jest użyć dedykowanego narzędzia do przeglądania plików JSON, ponieważ formatuje ono dane w czytelnej strukturze drzewa. Firefox ma wbudowane, przydatne narzędzie do przeglądania plików JSON. Przykład pliku sim.json wyświetlanego w Firefoxie można zobaczyć poniżej na ilustracji ??.

Na zakończenie jeszcze jedna uwaga: choć sim.json jest głównym plikiem konfiguracyjnym, nie zawsze jest on przechowywany oddzielnie. Zamiast tego, OghmaNano często umieszcza go w pliku sim.oghma, który jest zwykłym archiwum ZIP – robi się to w celu zaoszczędzenia miejsca. Jeśli zmienisz nazwę sim.oghma na sim.zip, możesz otworzyć go za pomocą Eksploratora Windows lub dowolnego programu do przeglądania plików ZIP i wyodrębnić sim.json. Jeśli umieścisz kopię sim.json w tym samym katalogu symulacji i zmienisz nazwę archiwum z powrotem na sim.oghma, OghmaNano zignoruje zarchiwizowaną wersję sim.json i zamiast tego użyje Twojego zwykłego pliku tekstowego sim.json. Ta funkcja jest niezwykle przydatna do automatyzacji, ponieważ możesz bezpośrednio edytować sim.json za pomocą dowolnego języka programowania, bez konieczności manipulowania plikami ZIP.

2. Format pliku OghmaNano.

OghmaNano wykorzystuje dokładnie te zasady w pliku konfiguracyjnym symulacji, o nazwie sim.json. Plik ten zawiera wszystkie niezbędne informacje do opisania struktury urządzenia, zdefiniowania symulacji, które mają być uruchomione, oraz skonfigurowania modułów obliczeniowych. Każdy katalog symulacji zawiera własny plik sim.json. Chociaż można otworzyć ten plik w dowolnym edytorze tekstowym, często wygodniej jest użyć przeglądarki JSON, takiej jak Firefox, która automatycznie wyświetla dane w ustrukturyzowanej formie drzewa.

Na najwyższym poziomie sim.json jest podzielony na niewielką liczbę głównych sekcji. Następnie te sekcje rozgałęziają się na bardziej szczegółowe podsekcje, takie jak analiza wyników pomiarów JV, przebiegi pomiarów EQE lub definicje warstw urządzenia. Główne sekcje, które występują w obecnym formacie, zostały podsumowane w poniższej tabeli: ??.

Current top-level sections in sim.json
Sekcja Cel
simOgólne metadane (np. wersja, tryb działania, uwagi)
simsWszystkie definicje symulacji (JV, Suns-Voc, EQE, PL, analiza w dziedzinie czasu, metoda promieni, FDTD itp.).
epitaxyStruktura urządzenia: warstwy, połączenia, geometria, materiały.
mathUstawienia i zakresy tolerancji dla solvera numerycznego.
opticalModele optyczne, źródła światła, detektory, siatki
dumpParametry wyjściowe: poziom szczegółowości, sondy, formaty plików
serverCzas działania/równoległe przetwarzanie (wątki, procesor graficzny, limity czasowe)
Wykryto główne, wysokopoziomowe sekcje w sim.json.

3. Specyficzne cechy formatu JSON stosowanego w OghmaNano.

4. Kodowanie

Pliki .json, które OghmaNano odczytuje i zapisuje, są zawsze przechowywane w formacie UTF-8. OghmaNano nie obsługuje formatu UTF-16 ani żadnych innych standardów kodowania tekstu. Obecnie domyślny format w programie Notatnik w systemie Windows oraz w większości innych aplikacji to UTF-8, więc jeśli nie wiesz, czym są te formaty przechowywania tekstu, prawdopodobnie nie ma to znaczenia. Problem pojawi się dopiero wtedy, gdy zaczniesz programowo generować pliki .oghma w języku takim jak C++ i używasz języka, takiego jak chiński lub rosyjski, którego alfabet zawiera znaki inne niż łacińskie.

5. Zapewnienie kompatybilności wstecznej i przyszłej formatu pliku.

Dołożono znacznych starań, aby nowe wersje OghmaNano mogły odczytywać pliki generowane w starszych wersjach. Jednak starsze wersje OghmaNano mogą nie być w stanie odczytywać plików generowanych w nowszych wersjach. Za każdym razem, gdy użytkownik otwiera plik sim.oghma za pomocą interfejsu graficznego, sprawdzany jest format pliku, a jeśli różni się on od formatu używanego w bieżącej wersji, plik jest aktualizowany i zapisywany ponownie na dysku. Jeśli używasz OghmaNano w konfiguracji bez interfejsu graficznego, wywołując bezpośrednio \(oghma\_core.exe\), a następnie chcesz uruchomić \(oghma\_core.exe\), upewnij się, że najpierw otworzyłeś plik sim.oghma ze starszej wersji modelu w interfejsie graficznym, aby sprawdzić, czy plik ma prawidłowy format.

6. Porady

Jeśli nie jesteś pewien, gdzie w pliku OghmaNano sim.json zapisany jest dany parametr, bardzo skuteczną metodą jest porównanie dwóch wersji tego pliku i sprawdzenie, jakie zmiany zostały wprowadzone. Jednym ze sposobów na to jest użycie narzędzia do porównywania plików, takiego jak KDiff3.

Proces jest prosty:

  1. Otwórz swoją symulację w interfejsie użytkownika OghmaNano.
  2. Dostosuj interesujący parametr (na przykład zmień grubość aktywnej warstwy lub ustawienie napięcia), a następnie zapisz symulację.
  3. Porównaj nowy plik sim.json z poprzednią wersją za pomocą programu KDiff3 (lub innego narzędzia do porównywania plików).
  4. Poszukaj fragmentów, które się różnią: wskażą one dokładnie, w którym miejscu struktury JSON przechowywany jest dany parametr.

Ta metoda to szybki i niezawodny sposób na znalezienie parametrów w pliku JSON, jeśli nie jesteś pewien, gdzie się one znajdują. Jest szczególnie przydatna w przypadku złożonych symulacji, które zawierają wiele zagnieżdżonych sekcji.

👉 Następny krok: Przejdź do narzędzia do analizy parametrów, gdzie dowiesz się, jak systematycznie zmieniać parametry symulacji i analizować wyniki.