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

1. Tworzenie siatki.

1. Na czym polega proces siatkowania?

Dzielenie na elementy to proces podziału ciągłego obszaru fizycznego na zbiór dyskretnych punktów, które mogą być przetwarzane przez komputer. Na przykład, wyobraźmy sobie przepływ ciepła wzdłuż metalowego pręta, od płomienia świecy na jednym końcu do bloku lodu na drugim. W rzeczywistości temperatura zmienia się w sposób ciągły wzdłuż pręta, ale symulacja nie może przechowywać nieskończonej liczby wartości. Zamiast tego, pręt jest reprezentowany przez skończoną liczbę punktów odniesienia (siatkę), a obliczenia są wykonywane tylko w tych punktach (patrz ??). Pracując z siatką, przekształcamy problem, który w innym przypadku byłby ciągły, w problem dyskretny, który można rozwiązać za pomocą metod numerycznych. Ta zasada stanowi podstawę metod różnic skończonych, elementów skończonych i innych metod obliczeniowych, powszechnie stosowanych w fizyce i inżynierii.

An example of a continuous problem, showing heat conduction from a candle to an ice crystal, broken up (meshed) into a series of discrete points along the bar.
Przykład problemu ciągłego, który został podzielony (lub przedstawiony w formie siatki) na serię oddzielnych punktów. Na ilustracji przedstawiono przepływ ciepła wzdłuż pręta, od świecy do lodu, a rozkład temperatury jest reprezentowany przez oddzielne punkty siatki.

2. Różne siatki do rozwiązywania różnych problemów.

Thermal ribbon in OghmaNano, showing the Thermal mesh button alongside model and temperature settings. Optical ribbon in OghmaNano, showing the Optical mesh button together with light source and simulation tools. Electrical ribbon in OghmaNano, showing the Electrical mesh button alongside solvers and interface tools.
Trzy rodzaje taśm OghmaNano: termiczna (górna), optyczna (środkowa) i elektryczna (dolna). Każda taśma zawiera dedykowany przycisk siatki, który służy do definiowania siatki dla danego modelu fizycznego.

W programie OghmaNano rozwiązywane są trzy podstawowe modele fizyczne: model optyczny (absorpcja i propagacja światła), model termiczny (generowanie i przepływ ciepła) oraz model elektryczny (transport i rekombinacja ładunków). Każdy z tych procesów zachodzi zazwyczaj w bardzo różnych skalach długości, dlatego każdy z nich wymaga oddzielnej siatki obliczeniowej. Na przykład:

W praktyce oznacza to, że należy symulować różne efekty fizyczne w różnych skalach długości. Ponadto, struktury urządzeń często zawierają bardzo cienkie warstwy kontaktowe lub interfejsowe, o grubości zaledwie kilku nanometrów. Optycznie, takie warstwy są znacznie cieńsze niż długość fali światła i często można je pominąć, ale elektrycznie są one kluczowe, ponieważ determinują charakterystykę prądowo-napięciową urządzenia. Aby uwzględnić te efekty, należy zastosować bardzo gęstą siatkę elektryczną w tych obszarach, podczas gdy siatka optyczna może być mniej gęsta i obejmować je.

OghmaNano automatycznie przeprowadza interpolację między siatkami podczas łączenia modeli. Na przykład, jeśli zdefiniujesz profil termiczny na siatce termicznej, a solver elektryczny wymaga lokalnych wartości temperatury, wartości te są przekazywane za pomocą interpolacji. To samo dotyczy wielkości optycznych, takich jak szybkość generowania nośników, które są interpolowane z siatki optycznej na siatkę elektryczną w razie potrzeby. Jako użytkownik nie musisz ręcznie zarządzać tymi transferami.

3. Trzy warstwy siatki OghmaNano.

OghmaNano oferuje trzy niezależne siatki – termiczny, optycznyoraz elektryczny – które można definiować oddzielnie, w zależności od rozwiązywanego problemu. Do każdego z elementów siatki można uzyskać dostęp za pomocą odpowiedniej karty na wstążce, jak pokazano na rysunku. ??.

3.1 Elektryczna siatka

OghmaNano electrical mesh editor showing X and Y dimensions active for a 2D OFET simulation, with tables defining thickness, mesh points, and spacing, and plots visualizing the resulting mesh.
Edytor siatki elektrycznej z włączonymi wymiarami X i Y, przeznaczony do symulacji dwuwymiarowego tranzystora organicznego (OFET). Tabele definiują grubość, liczbę punktów siatki i współczynniki wzrostu, a wykresy wizualizują rozkład siatki.
1D electrical mesh diagram showing evenly spaced grid points placed half a step inside the device boundaries.
Jednowymiarowy schemat siatki elektrycznej. Punkty siatki są przesunięte o połowę kroku od granic urządzenia, co zapewnia stabilne obliczenia pochodnych i spójne stosowanie warunków brzegowych.

Kliknięcie przycisku „Siatka elektryczna” na pasku narzędzi „Elektryczny” otwiera okno edytora siatki (??). W górnej części tego okna znajdują się przyciski X, Y i Z. Służą one do włączania i wyłączania poszczególnych wymiarów przestrzennych w symulacji. Na przykład, włączenie tylko wymiaru Y umożliwia symulację 1D, natomiast włączenie wymiarów X i Y razem umożliwia symulację 2D. W przedstawionym przykładzie włączone są zarówno wymiary X, jak i Y, dlatego siatka jest skonfigurowana do symulacji 2D OFET. Centralne tabele działają podobnie jak arkusze kalkulacyjne i definiują strukturę siatki dla każdego aktywnego wymiaru. Ich główne kolumny to:

Wygenerowane siatki są wyświetlane na wykresach znajdujących się w dolnej części okna, co pozwala na bieżąco ocenić rozmieszczenie i gęstość punktów. Przycisk „Importuj z edytora warstw” zapewnia szybki dostęp do złożonych elementów. Usuwa on siatkę Y i automatycznie importuje wszystkie warstwy z edytora warstw, przypisując cztery punkty siatki do każdej warstwy. Jest to szczególnie przydatne w przypadku struktur składających się z wielu warstw, takich jak diody laserowe.

Szczegółowy opis siatki elektrycznej: ?? ilustruje, w jaki sposób konstruowana jest siatka elektryczna. Siatka nie zaczyna się dokładnie na granicy urządzenia, lecz rozpoczyna się w połowie odstępu między węzłami siatki wewnątrz urządzenia. Zapewnia to, że pierwszy węzeł obliczeniowy znajduje się w obszarze aktywnej symulacji, co umożliwia zastosowanie warunków brzegowych (np. kontaktów elektrycznych) w precyzyjnie określonych punktach, tuż na zewnątrz siatki. Ta sama zasada obowiązuje na odległym brzegu urządzenia, dzięki czemu siatka rozciąga się o połowę odstępu poza ostatni fizyczny punkt.

Automatyczne tworzenie siatki: Grubość warstw jest definiowana w edytorze warstw. Po zdefiniowaniu fizycznej struktury urządzenia użytkownik powinien zaktualizować siatkę elektryczną, aby geometria siatki odpowiadała fizycznym wymiarom urządzenia. W praktyce nowi użytkownicy często nie zdają sobie sprawy, że siatka elektryczna, podobnie jak każda reprezentacja CAD, musi być zgodna z rzeczywistymi wymiarami obiektu.

Aby zminimalizować błędy konfiguracyjne, OghmaNano stosuje automatyczne założenia dotyczące siatki podczas działania programu. Symulacja zakłada, że określone w edytorze warstw wartości szerokości i wysokości warstw są poprawne i automatycznie próbuje dopasować te wymiary do siatki elektrycznej. Na przykład, jeśli urządzenie składa się z pojedynczej warstwy, a odpowiadająca jej wysokość siatki jest nieprawidłowa, symulacja wewnętrznie wykorzysta grubość warstwy z edytora warstw podczas tworzenia siatki.

Jeśli liczba warstw urządzenia odpowiada liczbie warstw siatki w pionie, każda warstwa siatki jest automatycznie powiązana z odpowiadającą jej grubością warstwy urządzenia. Te zmiany są wprowadzane wewnętrznie podczas symulacji i nie modyfikują widocznych parametrów siatki w edytorze. Jeśli liczba warstw siatki nie odpowiada liczbie aktywnych warstw urządzenia lub jeśli przyporządkowanie jest niejednoznaczne, automatyczne generowanie siatki nie jest stosowane, a symulacja kończy się błędem wskazującym, że definicja siatki jest niezgodna ze strukturą urządzenia.

3.2 Siatka optyczna

OghmaNano optical mesh editor with X, Y, Z dimension toggles and a wavelength panel. The left panel defines spatial mesh thickness, points, and growth factors; the right panel defines start and stop wavelengths, step multiplier, and number of points. Colored plots below show mesh spacing and spectral sampling.
Edytor siatki optycznej. Lewy panel definiuje punkty siatki w przestrzeni, rozłożone wzdłuż grubości urządzenia, natomiast prawy panel konfiguruje siatkę spektralną poprzez ustawienie zakresu długości fal i rozdzielczości. Wykresy poniżej wizualizują zarówno rozkład siatki w przestrzeni, jak i próbkowanie długości fal.

Edytor siatki optycznej (??) ma podobny układ do edytora siatki elektrycznej, ale zawiera dodatkowy panel do definiowania siatki długości fal. W górnej części okna przyciski X, Y i Z służą do przełączania aktywnych wymiarów przestrzennych, natomiast przycisk λ (długość fali) włącza siatkę spektralną.

Lewy panel określa przestrzenną dyskretyzację w nanometrach, wykorzystując te same kolumny, co siatka elektryczna (grubość, liczba punktów siatki, mnożnik odstępu oraz lewa/prawa strona). Prawy panel definiuje zakres spektralny poprzez ustawienie początkowej i końcowej długości fali, liczby punktów oraz mnożnika odstępu. Punkty odpowiadające długościom fal są konsekwentnie wykorzystywane we wszystkich solverach optycznych, w tym w symulacjach śledzenia promieni, FDTD i symulacjach macierzowych.

Automatyczne generowanie siatki: W przypadku symulacji optycznych oprogramowanie automatycznie dostosuje siatkę optyczną, tak aby jej wymiary odpowiadały problemowi optycznemu. W bardziej złożonych symulacjach dwu- lub trójwymiarowych, jeśli siatki optyczna i elektryczna nie pasują do siebie, program spróbuje automatycznie je zaktualizować. Jeśli to nie jest możliwe lub jeśli nie można jednoznacznie określić pożądanej konfiguracji siatki, symulacja zostanie przerwana, a zostanie wyświetlony komunikat o błędzie informujący o niespójności definicji siatek.

3.3 Siatka termoaktywna

OghmaNano thermal mesh editor showing spatial mesh configuration on the left and temperature mesh configuration on the right. The table on the right defines the start and stop temperatures, number of points, and step multiplier; plots below visualize the distribution.
Edytor siatki termicznej. Lewy panel służy do definiowania dyskretyzacji przestrzennej, natomiast prawy panel umożliwia konfigurację siatki temperatury poprzez ustawienie wartości początkowej i końcowej, rozdzielczości oraz kroku przyrostu. Wykresy wizualizują rozkład siatki zarówno w przestrzeni położenia, jak i w przestrzeni temperatury.

Edytor siatki termicznej (??) działa w taki sam sposób jak edytory siatek elektrycznych i optycznych, z przyciskami X, Y i Z, które służą do aktywacji wymiarów przestrzennych. Dodatkowo, zawiera on dedykowaną siatkę T (temperatury).

Siatka temperaturowa jest wykorzystywana zawsze, gdy symulacje muszą uwzględniać zależność od temperatury, na przykład przy modelowaniu zjawiska samonagrzewania lub przy ocenie właściwości elektrycznych w określonym zakresie temperatur. Przed rozpoczęciem symulacji OghmaNano wstępnie oblicza i zapisuje w tabelach takie wielkości, jak gęstość nośników w funkcji poziomu Fermiego i temperatury, lub całki Fermiego-Diraca. Dzięki tym tabelom solver może szybko odczytywać wartości podczas symulacji, zamiast obliczać je za każdym razem.

W większości przypadków siatka termiczna jest przetwarzana automatycznie, ale zaawansowani użytkownicy mogą dostosować zakres i rozdzielczość, aby zapewnić wystarczającą dokładność w przypadku problemów, w których temperatura ma kluczowe znaczenie.

4. Kiedy powinienem zacząć się martwić o problemy z siatką w OghmaNano?

Elektryczna siatka: Edytor warstw dzieli urządzenie na warstwy składające się z różnych materiałów (patrz sekcja 3.1.3). Warstwy oznaczone jako aktywne to te, na których stosowany jest model elektryczny. Dla tych warstw należy zdefiniować siatkę opartą na metodzie różnic skończonych. Długość siatki musi dokładnie odpowiadać długości aktywnej warstwy – w przeciwnym razie wystąpi błąd. OghmaNano zazwyczaj automatycznie generuje odpowiednią siatkę, więc w przypadku większości prostych urządzeń nie jest wymagana ręczna interwencja. Jednak gdy występuje wiele aktywnych warstw lub gdy liczba punktów siatki musi zostać zmniejszona, aby przyspieszyć symulację (lub zwiększona, aby uzyskać większą dokładność), elektryczną siatkę może być konieczne skonfigurować ręcznie.

Siatka optyczna: Siatka optyczna kontroluje zarówno próbkowanie przestrzenne, jak i próbkowanie długości fali. Może być konieczne jej dostosowanie, aby zmienić zakres symulowanej długości fali lub aby precyzyjniej określić sposób, w jaki światło oddziałuje z różnymi warstwami urządzenia. Zwiększenie liczby punktów siatki poprawia dokładność optyczną, ale wydłuża czas symulacji.

Siatka termiczna: Siatka termiczna jest istotna tylko wtedy, gdy włączona jest funkcja samonagrzewania. W takim przypadku zapewnia ona odpowiednią rozdzielczość do modelowania zmian temperatury w całym urządzeniu oraz do uwzględniania wpływu efektów termicznych na pułapki i procesy rekombinacji. W przeciwnym razie OghmaNano zarządza nią automatycznie.

5. Wskazówki dotyczące łączenia elementów w siatkę.

Czy powinienem przeprowadzać symulację w jednym, dwóch, czy trzech wymiarach?

Dobór odpowiedniej liczby wymiarów jest jedną z najważniejszych decyzji podejmowanych podczas konfiguracji symulacji. Należy zawsze stosować minimalną liczbę wymiarów, która jest wystarczająca do odwzorowania interesujących nas zjawisk fizycznych – to pozwala zaoszczędzić czas i zasoby obliczeniowe.

Szybkość kontra precyzja.

Można być skłononym do założenia, że zwiększenie liczby punktów siatki zawsze poprawia dokładność. W praktyce większa liczba punktów może pomóc – do pewnego stopnia – ale może również obniżyć dokładność lub stabilność symulacji. Ograniczającym czynnikiem jest często nie sama moc obliczeniowa, lecz warunki numeryczne: wiele symulacji urządzeń obejmuje wielkości, które różnią się o wiele rzędów wielkości (na przykład bardzo małe gęstości lub współczynniki rekombinacji obok bardzo dużych pól, prądów lub stężeń domieszek). Ponieważ komputery wykorzystują arytmetykę o skończonej precyzji, operacje na bardzo dużych i bardzo małych liczbach mogą prowadzić do utraty istotnych cyfr. Ta utrata precyzji może dominować w budżecie błędów i powodować niepożądane oscylacje, zakłócenia w prądach lub słabą konwergencję.

Zwiększenie gęstości siatki może pogorszyć, a nie poprawić sytuację. Bardziej szczegółowa siatka często prowadzi do większych lokalnych gradientów, większych wartości pochodnych i silniejszego sprzężenia między sąsiednimi węzłami, co może zwiększyć rozrzut między najmniejszą i największą wartością w rozwiązywanym układzie równań liniowych. W rezultacie problem może stać się bardziej niestabilny, a algorytm będzie miał trudności z rozróżnieniem rzeczywistych zależności fizycznych od szumu numerycznego. W takich przypadkach nieco mniej szczegółowa siatka może generować bardziej gładkie pola, poprawić stabilność i w konsekwencji zapewnić bardziej wiarygodne wyniki, mimo że zawiera mniej punktów.

Dobry sposób pracy polega na rozpoczęciu od siatki o niskiej rozdzielczości, aby sprawdzić poprawność ustawień i potwierdzić, czy zachowanie modelu jest zgodne z oczekiwaniami, a następnie na stopniowym zwiększaniu rozdzielczości siatki tylko w razie potrzeby. Zwiększanie rozdzielczości siatki powinno być uzasadnione danymi: jeśli kluczowe parametry (np. krzywe prądu i napięcia, profile nośników ładunku, generacja optyczna) przestają się znacząco zmieniać po dodaniu kolejnych punktów, dalsze zwiększanie rozdzielczości prawdopodobnie nie poprawi dokładności.

Konfigurując urządzenie w OghmaNano, należy pamiętać o następujących zasadach: