Samouczek dotyczący modułów perowskitowych o dużej powierzchni – część B: uruchom symulację i przeanalizuj wyniki.
Symulacje modułów o dużej powierzchni są bardziej złożone niż symulacje pojedynczego elementu, dlatego warto obserwować, co robi solver. W tym przykładzie OghmaNano przeprowadza symulację w dwóch głównych etapach: (i) solver optyczny (trójwymiarowe obliczenia optyczne), a następnie (ii) solver obwodu elektrycznego (równania Kirchhoffa dotyczące prądu i napięcia w siatce obwodu). Wyniki wyświetlane na ekranie pozwalają najszybciej zidentyfikować ewentualne problemy (np. odłączony obwód lub brak połączeń).
Krok 1: Uruchom symulację.
Kliknij przycisk „Uruchom symulację” (niebieski trójkąt), który znajduje się na ilustracji ??. Uruchomienie tej symulacji potrwa pewien czas (obejmuje ono modelowanie optyczne w przestrzeni trójwymiarowej, a następnie obliczenia dla dużego obwodu). Podczas działania symulacji obserwuj zakładkę „Terminal”, ponieważ wyświetla ona informacje w czasie rzeczywistym na temat zbieżności i prądów.
Krok 2: Zrozum, co oznacza wyświetlany komunikat.
W przypadku tak skomplikowanych symulacji, dane wyświetlane w oknie terminala nie stanowią „szumu” – są to informacje diagnostyczne. W ?? można zobaczyć, że solver najpierw uruchamia etap optyczny. Może to zająć trochę czasu, ponieważ obliczenia odbywają się w przestrzeni trójwymiarowej. Po przygotowaniu etapu generowania sygnału optycznego, solver przechodzi do etapu elektrycznego i wyświetla dane dla każdego punktu obciążenia.
Przykładowy fragment kluczowego kodu wygląda następująco (format może się nieznacznie różnić w zależności od ustawień):
- Napięcia na stykach: np.
ground = 0.00 Voznacza, że styk uziemienia utrzymywany jest na poziomie 0 V;change = 0.10 Voznacza, że drugi styk ma napięcie 0,10 V. - Prądy kontaktowe: na przykład, jeśli na jednym kontakcie występuje
1.58e+03 A/m^2, a na drugim-1.19e+03 A/m^2, oznacza to, że prąd wpływa do jednego kontaktu i wypływa z drugiego. Przy napięciu 0 V jest to zasadniczo gęstość prądu zwarciowego (JSC) modułu, ponieważ urządzenie jest oświetlone i generuje prąd przy zerowym przyłożonym napięciu. - Wskaźnik zbieżności: wydrukowana wartość
f()to błąd/reszta obliczeń związanych z rozwiązaniem równań elektrycznych (równania prawa Kirchhoffa dla całej siatki obwodu). Można to w przybliżeniu interpretować jako „jak dobrze spełnione są równania obwodu” w całej sieci. - Czas dla każdego kroku: ostatnia liczba w wierszu (w milisekundach) oznacza czas potrzebny na obliczenie wartości dla danego punktu.
Zazwyczaj można zaobserwować większe odchylenia na początku procesu obliczeniowego (szczególnie w pobliżu 0 V), a w miarę oddalania się od tego punktu, odchylenia te mogą się zmniejszać. Ogólnie rzecz biorąc, bardziej ufam wynikom, gdy algorytm obliczeniowy osiąga odchylenia rzędu 10-4 lub mniejsze, a idealnie nawet 10-9, co wskazuje na „czystą” konwergencję. (W przedstawionych tutaj przykładowych logach można zauważyć, że w miarę postępu procesu obliczeniowego odchylenia maleją).
Na wykresie ?? można zaobserwować coś bardzo przydatnego: w przybliżeniu w połowie zakresu pomiaru, kierunek prądu w punkcie styku z podłożem się zmienia, a kierunek prądu w punkcie styku change zmienia się w przeciwną stronę. Ta zmiana kierunku jest dokładnie tym, czego można się spodziewać, gdy zakres pomiaru przechodzi przez wartość VOC: poniżej VOC oświetlony element emituje energię; powyżej VOC jest on polaryzowany w kierunku przewodzenia i pobiera energię, podobnie jak dioda. Innymi słowy, często można bezpośrednio „zaobserwować” kształtowanie się krzywej JV w kolumnie przedstawiającej prąd w punkcie styku.
💡 Po co obserwować okno terminala? Jeśli coś jest nie tak (np. obwód nie jest połączony, maska kontaktowa nie pokrywa się z siatką lub dany obszar nie jest prawidłowo zdefiniowany), zwykle od razu to zauważysz: prądy spadają do zera, stają się bezsensowne lub algorytm nie jest w stanie zmniejszyć wartości f(). Wczesne wykrycie problemu może zaoszczędzić wiele czasu.
Krok 3: Sprawdź wygenerowane pliki.
Po zakończeniu symulacji w zakładce „Wyniki” znajdziesz zestaw plików, podobnych do tych przedstawionych na ilustracji ??. Najważniejsze wyniki dla tej części samouczka to krzywe charakterystyk kontaktu JV: jv_contact0.csv i jv_contact1.csv. Zawierają one informacje o gęstości prądu w każdym punkcie kontaktu w zależności od przyłożonego napięcia.
Kliknij dwukrotnie jv_contact0.csv i jv_contact1.csv, aby wyświetlić ich wykresy. Przykładowe wykresy znajdują się w ?? i ??. Powiększony widok (przydatny do odczytywania wartości VOC i krzywizny w pobliżu kolana) znajduje się w ??.
jv_contact0.csv).
jv_contact1.csv).
✅ Czego można się spodziewać
Podczas oświetlania, przy napięciu 0 V, powinna być obserwowana wartość prądu różna od zera w punktach styku (parametr JSC modułu). Wraz ze wzrostem napięcia, prąd zbliża się do zera w okolicach wartości VOC, a następnie zmienia znak przy polaryzacji przewodzącej. Jeśli krzywe charakterystyki prądowo-napięciowej (JV) wyglądają na płaskie (wartość bliska zeru w całym zakresie), zazwyczaj wskazuje to na przerwanie obwodu, brak styków lub niezgodność między geometrią a maską styków.
Krok 4: Sprawdź siatkę obliczeniową i schemat obwodu.
Symulacje obejmujące duże obszary mogą zakończyć się niepowodzeniem z powodów geometrycznych (nieprawidłowe umiejscowienie kontaktów, brakujące obszary, niepożądane przerwy), dlatego warto wiedzieć, gdzie należy szukać przyczyn problemu. W szczególności:
device.csv– to widok siatki, którą rzeczywiście analizuje program. Atrakcyjny wizualnie trójwymiarowy widok w interfejsie graficznym nie odpowiada wewnętrznej reprezentacji danych używanej przez program. Program operuje na prostszej, trójkątnej reprezentacji, a wszelkie problemy z geometrią będą zazwyczaj widoczne właśnie tutaj.electrical_links.csv– zawiera listę połączeń w obwodzie (elementów łączących węzły: ścieżki rezystancyjne, połączenia diodowe itp.).electrical_nodes.csv– zawiera listę węzłów Kirchhoffa, które są wykorzystywane w procesie rozwiązywania (są to punkty, w których suma prądów wynosi zero).
Przykładowe widoki tych plików przedstawiono w ??, ?? i ??. Zasadniczo, jest to takie samo zadanie, jak rozwiązywanie standardowego obwodu: węzły + połączenia + prawa Kirchhoffa – tyle że w znacznie większej skali.
device.csv: uproszczona reprezentacja siatki wykorzystywana przez solver. Jeśli wystąpią problemy związane z geometrią, zazwyczaj są one tutaj widoczne.
electrical_links.csv: obwody elektryczne wykorzystywane w metodzie rozwiązywania równań Kirchhoffa.
electrical_nodes.csv: węzły prądowe Kirchhoffa wykorzystywane do obliczeń.Krok 5: Znajdź ustawienia optyczne (macierz transformacji).
Ta symulacja modułu obejmuje generowanie sygnału optycznego, a narzędzia optyczne znajdują się na pasku narzędzi „Optyka” (??). Kliknij „Macierz transferu”, aby otworzyć okno „Macierz transferu”.
Ważne: nie uruchamiaj narzędzia Transfer Matrix bezpośrednio z tego miejsca w ramach tego samouczka. Okno Transfer Matrix zasadniczo przedstawia widok 1D przekroju, podczas gdy ta symulacja jest trójwymiarowa. Jest ono przydatne do konfigurowania i sprawdzania poprawności ustawień materiałów/przekroju, ale nie zastępuje ono pełnego, trójwymiarowego modelu optycznego, który właśnie uruchomiłeś. Na razie otwórz je i kliknij „Konfiguruj” – wykorzystamy tę opcję w części C, gdy zaczniemy wprowadzać kontrolowane zmiany.
Krok 5: Znajdź ustawienia optyczne (macierz transformacji).
Ta symulacja modułu obejmuje generowanie sygnału optycznego, a narzędzia optyczne znajdują się na pasku narzędzi „Optyka” (??). Kliknij „Macierz transferu”, aby otworzyć okno „Macierz transferu”.
Ważne: nie uruchamiaj narzędzia Transfer Matrix bezpośrednio z tego miejsca w ramach tego samouczka. Okno Transfer Matrix zasadniczo przedstawia widok 1D przekroju warstw, podczas gdy ta symulacja jest trójwymiarowa. Jest ono przydatne do konfigurowania i sprawdzania poprawności ustawień materiałów/warstw, ale nie zastępuje ono pełnego, trójwymiarowego modelu optycznego, który właśnie uruchomiłeś.
Zamiast tego kliknij opcję „Konfiguruj” (ikona koła zębatego), aby otworzyć panel konfiguracji ustawień optycznych, jak pokazano na ilustracji ??.
Wydajność fotonów i równanie diody ogniwa słonecznego
Wydajność fotonowa (czasami w uproszczonym kontekście nazywana wewnętrznym współczynnikiem wydajności kwantowej) to współczynnik skalarny, który określa, jaka część zaabsorbowanych fotonów faktycznie generuje nośniki ładunku, z których można uzyskać prąd (elektrony i dziury). Jeśli wydajność fotonowa wynosi 0, nie powstaje prąd fotoelektryczny. Jeśli wynosi 1, to (w tym uproszczonym modelu) każdy zaabsorbowany foton przyczynia się do powstania prądu fotoelektrycznego. W większości rzeczywistych urządzeń wartością zbliżoną do 0,6 można uznać za rozsądną wartość przybliżoną.
W terminologii dotyczącej diod można to rozumieć jako skalowanie członu prądu fotoelektrycznego w równaniu opisującym diodę oświetloną:
W tym przypadku \(J_0\) oznacza gęstość prądu nasycenia diody, \(n\) to współczynnik idealności, a \(J_{\mathrm{ph}}\) to gęstość fotoprądu, którą można przewidzieć na podstawie modelu optycznego (czyli na podstawie obliczeń dotyczących absorpcji fotonów i generacji nośników). Parametr \(\eta_{\mathrm{ph}}\) to efektywność fotonowa, określona w ??, która służy do skalowania wkładu członu fotoprądu. Ustawienie wartości \(\eta_{\mathrm{ph}}=0.6\) oznacza, że „60% zaabsorbowanych fotonów przekształca się w nośniki, które można wydobyć” w tym efektywnym modelu.
W praktyce: jeśli symulowany \(J_\mathrm{SC}\) jest źle dopasowany do eksperymentu, a jesteś przekonany, że elektryczna część modelu obwodu jest poprawna, \(\eta_{\mathrm{ph}}\) jest jednym z najszybszych parametrów, których możesz użyć, aby doprowadzić bezwzględny poziom prądu do pożądanej wartości. Bardzo mało prawdopodobne jest, aby wartość ta przekraczała 1; jeśli okaże się, że potrzebujesz \(\eta_{\mathrm{ph}} > 1\), zazwyczaj oznacza to, że coś innego jest nie tak (na przykład, stałe optyczne/współczynniki absorpcji są niespójne).
🧪 Zadanie: Zbadaj efektywność fotonów.
- Otwórz pasek narzędzi „Opcje” i przejdź do sekcji „Macierz transferu” → „Konfiguruj” (??).
- Zmień wartość efektywności fotonów z 0,6 na niższą (np. 0,3), uruchom ponownie symulację i obserwuj, jak zmieniają się krzywe charakterystyki połączenia (JV).
- Wypróbuj wyższą wartość (np. 0,9) i uruchom ponownie. Co się stanie z \(J_\mathrm{SC}\) i ogólnym kształtem krzywej JV?
- Po zakończeniu operacji ustaw wartość wydajności fotonów z powrotem na 0,6.
👉 Kolejne kroki:
- Przejdźmy do Część C, gdzie zaczniemy modyfikować parametry i analizować straty na poziomie modułu (rezystancja szeregowa, ograniczenia kontaktowe i efekty generacji optycznej).
- Aby uzyskać pełny przewodnik, wróć do sekcji przewodnik po symulacji ogniw słonecznych z perowskitu.