Modelagem de Estados de Armadilha Distribuídos em Semicondutores Desordenados
O tutorial foi elaborado como uma introdução geral à modelagem de estados de armadilha em semicondutores desordenados. O PM6:Y6 é usado como exemplo prático porque é um material fotovoltaico orgânico bem conhecido, mas os mesmos princípios de modelagem podem ser aplicados de forma mais ampla a semicondutores orgânicos, silício amorfo, semicondutores de óxido, perovskitas e outros materiais em forma de película fina, nos quais os estados localizados formam uma densidade distribuída de estados dentro da banda proibida.
1. Introdução: por que as distribuições de armadilhas são importantes em semicondutores desordenados.
Os estados de armadilha são fundamentais para o comportamento de muitos semicondutores desordenados, incluindo semicondutores orgânicos, silício amorfo, semicondutores de óxido, perovskitas e outros materiais fotovoltaicos de película fina. A diferença entre semicondutores ordenados e desordenados pode ser observada em ??. Em semicondutores altamente ordenados, como o silício cristalino de pureza extremamente elevada, frequentemente descrito como material com uma pureza de 99,9999% ou 99,99999%, existem relativamente poucos estados de armadilha dentro da banda proibida. Estes estados de armadilha isolados são ilustrados na região a em ??. Em tais sistemas, a recombinação através destes defeitos pode frequentemente ser descrita utilizando a equação padrão de recombinação de Shockley–Read–Hall (SRH):
\[ R_{SRH}=\frac{np-n_i^2} {\tau_p(n+n_1)+\tau_n(p+p_1)} \]
Para obter a demonstração matemática detalhada, passo a passo, consulte Demonstração da recombinação de Shockley–Read–Hall.
Esta equação parte do princípio de que a recombinação ocorre através de um único estado de armadilha discreto no meio da banda proibida, o que é, frequentemente, uma aproximação adequada para semicondutores/dispositivos relativamente ordenados, como diodos p–n de silício e diodos p–n de arsenieto de gálio. No entanto, à medida que o grau de desordem aumenta, torna-se menos útil considerar as armadilhas como defeitos isolados e mais útil descrevê-las como uma distribuição completa de estados dentro da banda proibida. Esta distribuição de estados é geralmente referida como a densidade de estados de armadilha ou densidade de estados (DOS). O lado direito de ?? ilustra esta situação para um semicondutor desordenado, como um semicondutor orgânico ou silício amorfo. A região b representa uma distribuição de estados de armadilha que contêm eletrões, próximos da banda de condução, a região d representa uma distribuição de estados de armadilha que contêm lacunas, próximos da banda de valência, e a região c representa uma distribuição de estados mais profundos no meio da banda proibida.
Em semicondutores ordenados, a expressão padrão de Shockley–Read–Hall (SRH) é frequentemente suficiente, pois os estados de armadilha são geralmente escassos e podem ser frequentemente aproximados como níveis de defeito isolados. Em semicondutores desordenados, essa aproximação deixa de ser válida: o material contém uma ampla distribuição de estados localizados que se estendem por toda a banda proibida, portanto, assumir que as armadilhas são um único defeito pontual é insuficiente. Uma expressão SRH de nível único trata a armadilha como um único nível de energia discreto, portanto, não pode descrever como os portadores preenchem uma ampla distribuição de estados localizados. Em um semicondutor desordenado, essa ocupação determina o equilíbrio entre a carga móvel e a carga aprisionada e, portanto, define a relação entre a densidade total de portadores e a posição do nível de quasi-Fermi. Se essa relação estiver incorreta, o modelo também fornecerá taxa de recombinação incorreta, mobilidade efetiva e comportamento J–V. Para modelar corretamente dispositivos desordenados, a ocupação da distribuição de armadilhas deve ser resolvida explicitamente, utilizando equações de taxa de aprisionamento, desaprisionamento e recombinação, acopladas de forma autoconsistente às equações de deriva-difusão e de Poisson. A população aprisionada resultante não é uma pequena correção: ela pode dominar o armazenamento de carga, o transporte, a recombinação, a mobilidade, a corrente de fuga, a tensão de circuito aberto e a forma da curva fotovoltaica J–V.
2. Mecanismos de captura e libertação de portadores de carga em semicondutores amorfos, segundo o modelo de Shockley–Read–Hall.
Muitos leitores têm o primeiro contacto com a recombinação de Shockley–Read–Hall (SRH) através da equação compacta de recombinação em estado estacionário apresentada acima. No entanto, esta equação compacta é apenas um resultado simplificado derivado do formalismo mais abrangente da equação de taxa de SRH; os passos matemáticos estão descritos em Derivação da recombinação de Shockley–Read–Hall. No seu núcleo, a teoria de SRH descreve o preenchimento e esvaziamento de um estado de armadilha através de processos de captura e libertação de portadores, como ilustrado em ??. Os eletrões podem ser capturados na armadilha e, posteriormente, emitidos termicamente de volta para a banda de condução, enquanto os buracos também podem ser capturados e emitidos. Quando um eletrão e um buraco ocupam o mesmo estado de armadilha, ocorre a recombinação.
O formalismo subjacente da teoria SRH é, portanto, fundamentalmente um modelo baseado em equações de taxa que descreve a captura, a libertação e a recombinação de portadores de carga:
\[ \frac{dn_t}{dt}=r_{ec}-r_{ee}-r_{hc}+r_{he} \]
Aqui, \(r_{ec}\) representa a taxa de captura de eletrões na armadilha, \(r_{ee}\) representa a taxa de escape de eletrões de volta para a banda de condução, \(r_{hc}\) representa a taxa de captura de lacunas e \(r_{he}\) representa a taxa de escape de lacunas. Uma das ideias físicas fundamentais por detrás da teoria de SRH é que as taxas de escape (\(r_{ee}\) e \(r_{he}\)) dependem fortemente da profundidade energética da armadilha, enquanto as taxas de captura (\(r_{ec}\) e \(r_{hc}\)) dependem principalmente de se a armadilha está ocupada ou não. As armadilhas superficiais libertam, portanto, portadores de carga relativamente facilmente, enquanto as armadilhas profundas podem armazenar carga durante longos períodos de tempo.
O OghmaNano resolve o formalismo completo de aprisionamento SRH, em vez de utilizar as simplificações habituais para obter a equação compacta de recombinação SRH em estado estacionário. Na prática, isto significa que é resolvida uma equação de aprisionamento separada para cada nível de aprisionamento dentro da densidade de estados. Isto permite que o simulador modele a carga aprisionada, o preenchimento dos níveis de aprisionamento, a recombinação assistida por aprisionamento, a curvatura eletrostática da banda e as populações de aprisionamento distribuídas em semicondutores altamente desordenados, como os semicondutores orgânicos e o silício amorfo.
Neste tutorial, vamos analisar como os estados de armadilhamento distribuídos são implementados e resolvidos no OghmaNano, e como o aprisionamento, a libertação e a carga aprisionada influenciam o comportamento de dispositivos semicondutores desordenados.
3. Exemplo prático: criação de uma simulação de um semicondutor desordenado do tipo PM6:Y6.
Inicie o OghmaNano e clique em «Nova simulação». Isso abrirá a biblioteca de tipos de dispositivos disponíveis, conforme mostrado em ??. Clique duas vezes no ícone «Células solares orgânicas» para abrir a biblioteca de exemplos de OPV. Na lista de exemplos PM6:Y6 disponíveis, selecione PM6:Y6_E10_0hrs, conforme mostrado em ??. Uma simulação genérica de deriva-difusão também pode ser usada para este tutorial; no entanto, este exemplo PM6:Y6 já foi configurado com uma distribuição de estados de armadilha e uma estrutura de bandas que correspondem aos resultados mostrados aqui. Quando solicitado, salve a simulação em uma pasta onde você tenha permissão de gravação.
💡 Dica: Para obter o melhor desempenho, salve os arquivos em uma unidade local, como C:\. As simulações armazenadas em pastas de rede, unidades USB ou na nuvem (por exemplo, OneDrive) podem ser executadas de forma mais lenta devido à grande quantidade de leituras e gravações.
Após a criação da simulação, a janela principal do OghmaNano é aberta, conforme mostrado em ??. O dispositivo PM6:Y6 é apresentado como uma pilha de células solares em camadas. A camada ativa é a região semicondutora desordenada na qual os estados de armadilha distribuídos serão modificados.
4. Configurar a simulação para que seja executada no escuro.
Antes de iniciar a simulação, precisamos primeiro configurar o dispositivo para que funcione no escuro. Abra a faixa óptica mostrada em ?? e defina a intensidade da luz para 0,0 Suns. Isso garante que as curvas de corrente-tensão (JV) geradas correspondam a medições de corrente-tensão no escuro, em vez de ao funcionamento fotovoltaico sob iluminação. As simulações no escuro são frequentemente particularmente úteis ao estudar estados de armadilha, pois revelam a injeção de portadores, o preenchimento das armadilhas, a recombinação e os efeitos eletrostáticos de forma muito mais clara do que as simulações sob iluminação, onde a fotocorrente pode obscurecer muitos desses processos.
5. Definir a densidade de estados da armadilha.
Na janela principal, abra o editor de parâmetros elétricos para a camada ativa PM6:Y6, utilizando o separador «estrutura do dispositivo». Isso abrirá o editor mostrado em ??. Quando a opção «armadilhas dinâmicas SRH» estiver ativada, o OghmaNano calcula uma distribuição de estados de armadilha no espaço de energia, que se assemelha à distribuição ilustrada em ??.
Por padrão, assume-se que a distribuição das armadilhas segue uma densidade de estados exponencial. Para a região de cauda do lado do LUMO, a densidade de estados é expressa como:
\[ \rho_\mathrm{LUMO}(E)=N_{t,n}\exp\left(\frac{E-E_C}{E_{U,n}}\right), \]
enquanto que, para a extremidade do lado HOMO, é escrito como:
\[ \rho_\mathrm{HOMO}(E)=N_{t,p}\exp\left(\frac{E_V-E}{E_{U,p}}\right). \]
Aqui \(N_{t,n}\) e \(N_{t,p}\) são os coeficientes que multiplicam a densidade de armadilhas de eletrões e lacunas, enquanto \(E_{U,n}\) e \(E_{U,p}\) são as energias correspondentes da cauda de Urbach. Na interface do utilizador apresentada em ??estes correspondem, respetivamente, aos parâmetros. Densidade de armadilhas de eletrões, Densidade de armadilhas de lacunas., Inclinação da cauda eletrónica e Declive em forma de buraco/túnel. em Armadilhas SRH em condições de não equilíbrio. secção do editor de parâmetros elétricos.
O editor também contém as seções de captura, que controlam as taxas dos processos de aprisionamento SRH mencionados anteriormente. Os parâmetros «elétron livre para elétron aprisionado» e «lacuna livre para elétron aprisionado» regem os processos de captura de elétrons e lacunas (\(r_{ec}\) e \(r_{hc}\)), enquanto os parâmetros «elétron livre para lacuna aprisionada» e «lacuna livre para lacuna aprisionada» regem os processos de escape correspondentes (\(r_{ee}\) e \(r_{he}\)). Em conjunto, estes parâmetros determinam a rapidez com que os portadores de carga são capturados e libertados da distribuição de armadilhas.
Por fim, o parâmetro «Número de armadilhas» controla o número de níveis de armadilha discretizados utilizados para aproximar a densidade analítica de estados. Estes correspondem aos níveis de armadilha horizontais vermelhos e azuis mostrados em ??. A densidade analítica de estados continua a ser definida pelas funções \(\rho_\mathrm{LUMO}(E)\) e \(\rho_\mathrm{HOMO}(E)\), enquanto o número de armadilhas determina o grau de granularidade da discretização numérica da distribuição.
Se a simulação for executada com esta configuração, o OghmaNano assumirá uma densidade de estados exponencial correspondente às equações acima. No entanto, o OghmaNano também permite um controlo muito maior sobre a distribuição exata dos estados de armadilha. Se for clicado no seletor «Exponencial», o modo muda para «Complexo», como mostrado em ??. Isto permite definir formas arbitrárias da densidade de estados. O editor de densidade de estados complexa pode então ser aberto clicando no botão «Editar», que aparece no lado direito do editor.
6. Defina uma distribuição exponencial de armadilha com profundidade superficial.
Clique em «Editar» para abrir o editor avançado de densidade de estados. O editor é apresentado em ??. A tabela superior define a distribuição de armadilhas do lado do LUMO e a tabela inferior define a distribuição de armadilhas do lado do HOMO. Cada linha contém uma função matemática, um interruptor de ativação e três parâmetros numéricos, identificados por a, b e c. O gráfico no lado esquerdo do editor mostra a densidade de estados resultante, gerada a partir das funções matemáticas inseridas nas tabelas. A curva analítica azul representa a distribuição de armadilhas do lado do LUMO ou da banda de condução (\(E_C\)), enquanto a curva analítica vermelha representa a distribuição de armadilhas do lado do HOMO ou da banda de valência (\(E_V\)). Estas curvas suaves correspondem à densidade de estados analítica exata, definida pelas equações inseridas no editor.
As curvas em azul-ciano e verde representam os níveis de armadilha discretizados que são efetivamente utilizados internamente pelo simulador. Estes níveis correspondem diretamente ao parâmetro «Número de armadilhas» definido anteriormente no editor de parâmetros elétricos. Aumentar o número de níveis de armadilha produz uma aproximação mais precisa da densidade de estados analítica e, consequentemente, melhora a precisão numérica da simulação. Na prática, as simulações que utilizam cerca de cinco níveis de armadilha geralmente produzem resultados muito bons para muitas simulações de dispositivos em estado estacionário. No entanto, as simulações que envolvem longos períodos de transição, como os cálculos de tempo de voo, podem exigir um número maior de níveis de armadilha, por vezes até cerca de vinte. Uma vez que os estados de armadilha são resolvidos em cada ponto da malha dentro do dispositivo, aumentar o número de níveis de armadilha também aumenta muito rapidamente o tamanho matemático total da simulação, pelo que, na prática, raramente são necessários valores muito superiores a vinte.
| Símbolo | Significado na expressão DOS. |
|---|---|
| E | Coordenada de energia na qual é avaliada a densidade de estados. |
| CE | Borda da banda de condução / nível de transporte LUMO |
| EV | Nível de transporte da extremidade da banda de valência / HOMO |
| um/uma | Uma constante definida pelo utilizador. |
| b | Uma constante definida pelo utilizador. |
| c | Uma constante definida pelo utilizador. |
Em princípio, qualquer equação pode ser inserida no editor de equações, utilizando os parâmetros apresentados na tabela acima, e isso pode ser usado para construir a densidade de estados.
7. Efeito da largura da «cauda» da armadilha nas curvas de corrente-tensão em condições de escuridão e na densidade de carga.
Realizaremos agora duas simulações e compararemos o efeito de alterar a largura energética da distribuição das armadilhas. No editor complexo da densidade de estados, certifique-se de que o parâmetro b está definido em 0,025 eV tanto para a distribuição LUMO quanto para a distribuição HOMO, conforme mostrado em ??. Isso define o caso de cauda rasa, onde a densidade de estados de armadilhas diminui relativamente rapidamente, afastando-se das bordas da banda, e, portanto, apenas um número limitado de estados de armadilhas profundas está presente dentro da banda proibida.
Executando e criando uma cópia de segurança da simulação para uso posterior:
Volte para a janela principal e execute a simulação clicando no botão azul. Executar simulação botão ou pressionando F9Quando o cálculo estiver concluído, abra a pasta da simulação usando o Explorador do Windows.
O ficheiro jv.csv contém a curva JV escura, enquanto charge.csv contém a carga total armazenada no dispositivo, expressa em função da voltagem.
Faça cópias de segurança destes ficheiros utilizando o Explorador do Windows e renomeie os ficheiros copiados para: jv.bak e charge.bakEsses ficheiros de cópia de segurança irão armazenar os resultados da simulação da «cauda rasa», para que, posteriormente, possam ser comparados com a distribuição mais ampla da «armadilha».
Em seguida, abra novamente o editor DOS e aumente o parâmetro b para 0,100 eV, tanto para a distribuição LUMO quanto para a distribuição HOMO, conforme mostrado em ??. Isso amplia a distribuição das armadilhas, de modo que os estados de armadilha se estendam mais para dentro da banda proibida. Execute a simulação novamente. Após a segunda execução, o diretório da simulação deverá conter os arquivos de cópia de segurança originais (jv.bak e charge.bak), juntamente com os novos arquivos de saída (jv.csv e charge.csv).
☑ Após concluir esta etapa, o diretório da simulação deverá conter quatro ficheiros:
jv.csv— os dados escuros da simulação JV para a análise de longo prazo.jv.bak— os dados escuros do JV relativos à simulação da zona de cauda superficial.charge.csv— os dados da densidade de carga para a simulação de cauda alargada.charge.bak— os dados de densidade de carga para a simulação da região de transição.
Após executar as duas simulações, pode usar o Microsoft Excel ou os scripts MATLAB e Python apresentados abaixo para gerar os gráficos mostrados em ?? e ??. Nestas comparações, os ficheiros .bak correspondem à simulação de cauda curta, enquanto os novos ficheiros .csv correspondem à simulação de cauda mais larga.
O aumento da energia da cauda de Urbach alarga a densidade dos estados de armadilha, de modo que uma população muito maior de armadilhas se estende profundamente na banda proibida. Isso altera diretamente tanto a corrente de recombinação quanto a quantidade de carga armazenada no dispositivo. Na comparação das curvas corrente-tensão (JV) no escuro, mostrada em ??, a distribuição mais ampla das armadilhas aumenta a corrente na região de tensão média, porque os portadores de carga podem ter acesso a uma população muito maior de estados de armadilha energeticamente distribuídos, que participam na recombinação e no transporte assistidos por armadilhas.
O efeito também é claramente visível na comparação da densidade de carga apresentada em ??. A distribuição mais ampla de armadilhas armazena mais carga em todo o dispositivo, pois agora existem muito mais estados energeticamente acessíveis disponíveis para a ocupação por portadores de carga. Essa carga armazenada atua como carga espacial no interior do dispositivo e, portanto, altera o potencial eletrostático e a curvatura da banda.
Do ponto de vista físico, esta é a principal diferença entre modelar um único centro de recombinação SRH e modelar uma densidade completa e distribuída de estados de armadilha. Num semicondutor desordenado, as armadilhas não são defeitos isolados. Elas formam um cenário energético completo que controla, simultaneamente, o aprisionamento e a libertação de portadores de carga, a recombinação, o armazenamento de carga e o transporte. É por isso que os estados de armadilha devem ser incluídos nos modelos de dispositivos semicondutores desordenados.
Versão MATLAB/Octave
clear;
close all;
clc;
% ============================================
% Settings
% ============================================
log_jv = true;
Mostrar o código completo do MATLAB.
clear;
close all;
clc;
% ============================================
% Settings
% ============================================
log_jv = true; % true = semilogy
% false = linear plot
% ============================================
% Load data
% ============================================
jv = load('jv.csv');
jv_bak = load('jv.bak');
charge = load('charge.csv');
charge_bak = load('charge.bak');
% ============================================
% Figure 1 : JV
% ============================================
figure;
if log_jv == true
semilogy(jv(:,1), abs(jv(:,2)), ...
'LineWidth', 2);
hold on;
semilogy(jv_bak(:,1), abs(jv_bak(:,2)), '--', ...
'LineWidth', 2);
else
plot(jv(:,1), jv(:,2), ...
'LineWidth', 2);
hold on;
plot(jv_bak(:,1), jv_bak(:,2), '--', ...
'LineWidth', 2);
end
grid on;
box on;
xlabel('Voltage (V)');
ylabel('Current density (A m^{-2})');
title('JV comparison');
legend( ...
'JV', ...
'JV backup', ...
'Location', 'northwest' ...
);
% ============================================
% Figure 2 : Charge density
% ============================================
figure;
semilogy(charge(:,1), abs(charge(:,2)), ...
'LineWidth', 2);
hold on;
semilogy(charge_bak(:,1), abs(charge_bak(:,2)), '--', ...
'LineWidth', 2);
grid on;
box on;
xlabel('Voltage (V)');
ylabel('Charge density (m^{-3})');
title('Charge density comparison');
legend( ...
'Charge', ...
'Charge backup', ...
'Location', 'northwest' ...
);
Versão do Python
import numpy as np
import matplotlib.pyplot as plt
# ============================================
# Settings
# ============================================
log_jv = True
Mostrar o código Python completo.
import numpy as np
import matplotlib.pyplot as plt
# ============================================
# Settings
# ============================================
log_jv = True # True = semilogy
# False = linear plot
# ============================================
# Load data
# ============================================
jv = np.loadtxt("jv.csv")
jv_bak = np.loadtxt("jv.bak")
charge = np.loadtxt("charge.csv")
charge_bak = np.loadtxt("charge.bak")
# ============================================
# Figure 1 : JV
# ============================================
plt.figure()
if log_jv:
plt.semilogy(jv[:, 0], np.abs(jv[:, 1]), linewidth=2)
plt.semilogy(jv_bak[:, 0], np.abs(jv_bak[:, 1]), "--", linewidth=2)
else:
plt.plot(jv[:, 0], jv[:, 1], linewidth=2)
plt.plot(jv_bak[:, 0], jv_bak[:, 1], "--", linewidth=2)
plt.grid(True)
plt.xlabel("Voltage (V)")
plt.ylabel("Current density (A m$^{-2}$)")
plt.title("JV comparison")
plt.legend(["JV", "JV backup"], loc="upper left")
# ============================================
# Figure 2 : Charge density
# ============================================
plt.figure()
plt.semilogy(charge[:, 0], np.abs(charge[:, 1]), linewidth=2)
plt.semilogy(charge_bak[:, 0], np.abs(charge_bak[:, 1]), "--", linewidth=2)
plt.grid(True)
plt.xlabel("Voltage (V)")
plt.ylabel("Charge density (m$^{-3}$)")
plt.title("Charge density comparison")
plt.legend(["Charge", "Charge backup"], loc="upper left")
plt.show()
8. Efeito da largura da «cauda» da armadilha sob iluminação solar simulada.
Na secção anterior, comparámos as distribuições de «cauda de armadilha» pouco profundas e amplas no escuro. Agora, repetiremos a mesma comparação sob uma única fonte de luz. Vá para a faixa ótica e defina a intensidade da luz para 1,0. Em seguida, volte para o editor complexo de DOS e defina o parâmetro da «cauda de Urbach» para b = 0,025 eV, tanto para a distribuição LUMO como para a HOMO. Execute a simulação e, em seguida, faça cópias de segurança de jv.csv e charge.csv usando o Explorador do Windows, renomeando-as para jv.bak e charge.bak.
Em seguida, volte ao editor DOS e aumente a largura de ambas as «caudas» da armadilha, definindo b = 0,100 eV. Execute a simulação novamente. O diretório da simulação deverá agora conter os ficheiros jv.csv, jv.bak, charge.csv e charge.bak. Neste caso, os ficheiros .bak contêm a simulação de uma «cauda» estreita, enquanto os novos ficheiros .csv contêm a simulação de uma «cauda» larga.
☑ Após concluir esta etapa, o diretório da simulação deverá conter quatro ficheiros: jv.csv, jv.bak, charge.csv e charge.bak. Os ficheiros .bak contêm a simulação com iluminação na extremidade estreita, enquanto os ficheiros .csv contêm a simulação com iluminação na extremidade larga.
Os mesmos scripts MATLAB ou Python utilizados para gerar os gráficos acima podem agora ser reutilizados sem necessidade de modificação. Eles gerarão gráficos de jv.csv em função de jv.bak e de charge.csv em função de charge.bak. A comparação resultante das curvas de corrente-tensão (JV) sob iluminação é mostrada em ??, e a comparação da densidade de carga sob iluminação é mostrada em ??.
Sob iluminação, a distribuição das armadilhas altera diretamente o equilíbrio entre a fotogeração, a extração e a recombinação. Uma distribuição mais ampla coloca mais estados de armadilha mais profundamente dentro da banda proibida, aumentando a quantidade de carga aprisionada e alterando o perfil eletrostático interno do dispositivo. Isso modifica a curva corrente-tensão (JV) sob iluminação, pois a corrente de recombinação e a divisão do nível de quasi-Fermi são alteradas pela população de carga aprisionada.
O gráfico da densidade de carga apresenta a mesma dinâmica, mas sob uma perspetiva diferente. A simulação de cauda alargada armazena a carga de forma diferente, porque os portadores de carga estão agora distribuídos por uma gama mais ampla de níveis de energia de armadilha. É por isso que a distribuição das armadilhas é importante nas simulações fotovoltaicas: ela controla não apenas a quantidade de carga armazenada, mas também a sua posição energética e a forma como influencia o transporte, a recombinação e a formação de tensão.
9. Visualização da ocupação da armadilha em termos de energia e posição.
trap_map será gravado na pasta de saída.
Após constatar que a distribuição dos estados de armadilha altera as curvas de corrente-tensão (JV) e de densidade de carga, o próximo passo é analisar diretamente a ocupação das armadilhas. Abra a pasta de saída da simulação e procure a pasta trap_map. Se esta pasta não estiver visível, abra a guia «Elétrica» e clique no editor de curvas JV. Isso abrirá a janela do experimento JV mostrada em ??.
Na secção «Saída» do editor JV, defina o nível de detalhe da saída para «Disco» para que tudo seja gravado no disco. Em seguida, defina a distribuição do «Mapa de armadilhas» para «Mapa do espaço de energia». Execute novamente a simulação. Uma pasta chamada trap_map deverá aparecer agora na pasta de saída. Ao abrir os ficheiros nesta pasta, será apresentado um mapa de energia-posição da densidade das armadilhas ocupadas, conforme mostrado em ??.
Este mapa mostra a ocupação dos estados de armadilha distribuídos em função da posição e da energia. Em cada ponto de tensão durante a análise de corrente-tensão (JV), o OghmaNano regista a distribuição de armadilhas ocupadas no disco. Ao mover o controlo de tensão, pode observar como a população de armadilhas se distribui à medida que o dispositivo passa de uma baixa tensão para uma polarização direta.
10. Aumente a resolução do mapa de armadilhas.
O primeiro mapa de armadilhas é útil para simulações, mas a resolução é propositalmente baixa, pois o modelo padrão utiliza apenas cinco faixas de armadilhas e um número modesto de pontos de malha. Para uma visualização mais clara, volte ao editor de parâmetros elétricos e aumente o número de armadilhas de 5 para 10 ou 20. Em seguida, abra o editor de malha na barra de ferramentas elétrica e aumente o número de pontos de malha na direção da camada ativa para cerca de 100, conforme mostrado em ??.
Execute novamente a simulação, utilizando a malha com maior resolução e a discretização da armadilha. Os mapas de armadilhas resultantes devem apresentar uma aparência semelhante aos de ??, ?? e ??. Estes gráficos mostram como a densidade de armadilhas ocupadas evolui em função da tensão aplicada.
O mapa de armadilhas torna explícita a natureza distribuída do modelo. A carga não é concentrada num único nível de defeito; em vez disso, a densidade ocupada é distribuída por uma faixa de energia finita e varia com a posição dentro do dispositivo. Esta é uma das principais razões pelas quais os modelos de estados de armadilha distribuídos são úteis para semicondutores desordenados: permitem analisar em conjunto a desordem energética, o preenchimento das armadilhas e a eletrostática espacial.
11. Apresentar a ocupação da armadilha num único ponto da malha.
O mapa completo da distribuição espacial das armadilhas de energia é útil para visualizar todo o dispositivo, mas, por vezes, pode ser mais fácil compreender a física ao analisar a ocupação das armadilhas numa posição espacial específica. Para o fazer, abra novamente o editor JV e altere a opção «Dump trap distribution» de «Energy space map» para «Single mesh point», conforme mostrado em ??. Defina a posição y para 50. O OghmaNano irá então gerar o espetro de ocupação das armadilhas no 50.º ponto da malha dentro do dispositivo.
Execute novamente a simulação. Dentro do diretório de saída trap_map, o OghmaNano irá agora criar ficheiros como energy_slice_nt.csv para armadilhas de eletrões e energy_slice_pt.csv para armadilhas de lacunas. Estes ficheiros contêm a densidade de ocupação das armadilhas em função da energia na posição espacial selecionada. Ao mover o controlo deslizante da voltagem, poderá observar como a distribuição energética da carga aprisionada evolui durante a análise de corrente-voltagem (JV).
Os espectros de ocupação das armadilhas de eletrões apresentados em ??, ?? e ?? mostram como a ocupação das armadilhas evolui à medida que a tensão aplicada aumenta. Em baixas tensões, apenas uma pequena fração da distribuição das armadilhas está ocupada. À medida que a tensão aumenta, a densidade de portadores aumenta e preenche progressivamente uma região energética maior da densidade de estados. O máximo de ocupação também se desloca em termos de energia, pois o nível de quasi-Fermi local move-se através da distribuição das armadilhas à medida que a carga se acumula no interior do dispositivo.
Os espectros correspondentes de armadilhas de lacunas apresentados em ??, ?? e ?? mostram o mesmo processo físico a partir do lado HOMO da densidade de estados. À medida que o dispositivo é ativado e a densidade de portadores aumenta, a densidade de armadilhas ocupadas cresce e desloca-se através da distribuição de armadilhas do lado HOMO, exatamente da mesma forma que para as armadilhas de eletrões.
Esses diagramas de energia unidimensionais são particularmente úteis porque separam a componente energética do problema da componente espacial. O mapa completo da armadilha mostra onde a carga é armazenada dentro do dispositivo, enquanto os espectros de ponto único da malha mostram exatamente como essa carga é distribuída em termos de energia. Em conjunto, esses resultados fornecem uma visualização direta do preenchimento das armadilhas, do movimento do nível de quasi-Fermi e do armazenamento de carga dentro de um dispositivo semicondutor desordenado.
12. Adicionar uma armadilha profunda que favoreça a recombinação gaussiana.
O editor avançado de densidade de estados permite combinar várias funções analíticas numa única distribuição de armadilhas. Isto significa que a densidade de estados não precisa de consistir apenas numa cauda exponencial pura ou numa distribuição gaussiana pura. Em vez disso, várias funções podem ser sobrepostas para criar modelos de densidade de estados desordenados mais realistas, que contenham tanto estados de cauda superficiais como bandas de armadilhas localizadas mais profundas.
Para adicionar outro componente à densidade de estados do lado do LUMO, clique no botão «+» no painel do LUMO do editor de densidade de estados do complexo. Pode digitar a expressão analítica diretamente no campo da função ou clicar no botão com três pontos para abrir o seletor de equações mostrado em ??. O seletor de equações contém várias funções de densidade de estados predefinidas, incluindo distribuições exponenciais, gaussianas, de Lorentz e de potência.
Neste exemplo, a densidade de estados do lado LUMO contém duas funções ativadas. A primeira é a função exponencial original, enquanto a segunda é uma função gaussiana que representa um poço de armadilhamento profundo:
\[ \rho_\mathrm{G}(E)= a\exp\left[ -\left( \frac{c+E-E_C} {\sqrt{2}\,b} \right)^2 \right]. \]
O parâmetro «a» controla a escala de densidade, «b» controla a largura energética da gaussiana e «c» desloca a armadilha para longe da extremidade da banda. Neste exemplo, «c» = 0,7 eV, o que coloca a armadilha gaussiana bem no interior da banda proibida, em relação ao nível de transporte LUMO. A densidade de estados do lado HOMO é mantida como uma simples cauda exponencial.
Fisicamente, este modelo representa um semicondutor que contém tanto uma perturbação energética superficial como uma banda de defeitos mais profunda. A cauda exponencial superficial controla principalmente o transporte e a captura de portadores de carga perto do nível de transporte, enquanto o estado gaussiano profundo atua como um centro de recombinação e armazenamento de carga. Uma vez que cada função tem o seu próprio interruptor de ativação, o efeito da armadilha profunda pode ser isolado sem alterar o restante do modelo do dispositivo.
Para investigar o efeito da armadilha profunda na recombinação, execute um Suns Voc simulação. Abra o Tipo de simulação fita e selecionar Suns Voccomo demonstrado em ??Em seguida, execute a simulação a partir da janela principal, utilizando o botão azul de execução ou pressionando F9.
Quando a simulação estiver concluída, o ficheiro suns_voc.csv conterá a tensão de circuito aberto em função da intensidade da iluminação. Faça uma cópia de segurança deste ficheiro utilizando o Explorador do Windows e renomeie-o para suns_voc.bak. Em seguida, volte para o editor DOS e desative a linha de armadilhas profundas de Gauss, mantendo a parte exponencial ativada. Execute novamente a simulação Suns–Voc.
O novo ficheiro suns_voc.csv corresponde agora ao dispositivo sem a armadilha gaussiana profunda, enquanto suns_voc.bak contém a simulação com a armadilha profunda incluída. Ao apresentar graficamente estes dois ficheiros em conjunto, obtém-se a comparação mostrada em ??.
A armadilha gaussiana profunda reduz a tensão de circuito aberto, pois introduz um caminho de recombinação adicional no interior da banda proibida. Isso diminui a separação do nível de quasi-Fermi estabelecida sob iluminação e, consequentemente, reduz a tensão de circuito aberto (VOC) que pode ser alcançada. O efeito é particularmente forte em intensidades de luz mais baixas, onde a recombinação assistida por armadilhas domina a dinâmica dos portadores de carga.
As medições de Suns-Voc são, portanto, extremamente úteis para distinguir estados de desordem energéticos superficiais de estados de defeito mais profundos, que são ativos na recombinação. Uma vez que o dispositivo é medido em condições de circuito aberto, o experimento isola a física interna da recombinação, sem a complicação adicional da corrente de extração de portadores.
Se pretender criar o gráfico comparativo entre os valores de Suns e Voc apresentados em ??, pode utilizar os scripts MATLAB/Octave ou Python que se seguem. Estes scripts comparam suns_voc.csv com suns_voc.bak e representam graficamente a tensão de circuito aberto em função da intensidade da luz.
Versão MATLAB/Octave
clear;
close all;
clc;
% Load data
voc = load('suns_voc.csv');
voc_bak = load('suns_voc.bak');
Mostrar o código completo do MATLAB.
clear;
close all;
clc;
% Load data
voc = load('suns_voc.csv');
voc_bak = load('suns_voc.bak');
% ============================================
% Figure : Suns-Voc
% ============================================
figure;
loglog(voc(:,1), abs(voc(:,2)), ...
'LineWidth', 2);
hold on;
loglog(voc_bak(:,1), abs(voc_bak(:,2)), '--', ...
'LineWidth', 2);
grid on;
box on;
xlabel('Light intensity (suns)');
ylabel('Open-circuit voltage (V)');
title('Suns-Voc comparison');
legend( ...
'suns\_voc.csv', ...
'suns\_voc.bak', ...
'Location', 'northwest' ...
);
Versão do Python
import numpy as np
import matplotlib.pyplot as plt
# Load data
voc = np.loadtxt("suns_voc.csv")
voc_bak = np.loadtxt("suns_voc.bak")
Mostrar o código Python completo.
import numpy as np
import matplotlib.pyplot as plt
# Load data
voc = np.loadtxt("suns_voc.csv")
voc_bak = np.loadtxt("suns_voc.bak")
# ============================================
# Figure : Suns-Voc
# ============================================
plt.figure()
plt.loglog(voc[:,0], np.abs(voc[:,1]),
linewidth=2)
plt.loglog(voc_bak[:,0], np.abs(voc_bak[:,1]),
'--',
linewidth=2)
plt.grid(True)
plt.xlabel("Light intensity (suns)")
plt.ylabel("Open-circuit voltage (V)")
plt.title("Suns-Voc comparison")
plt.legend([
"suns_voc.csv",
"suns_voc.bak"
], loc="upper left")
plt.show()
Resumo
Este tutorial demonstrou como os estados de armadilha podem ser incluídos explicitamente num modelo de dispositivo semicondutor desordenado. Em vez de tratar a recombinação como proveniente de um único nível de defeito SRH isolado, o OghmaNano permite que a densidade de estados de armadilha seja descrita como uma distribuição energética. Isto é essencial para semicondutores orgânicos, silício amorfo, semicondutores de óxido e outros materiais em película fina, onde os estados localizados se estendem por toda a banda proibida e influenciam fortemente a relação entre a densidade de portadores, a posição do nível de quasi-Fermi, a recombinação e a mobilidade. Embora o exemplo prático utilize uma célula solar orgânica PM6:Y6, o objetivo do tutorial é mais amplo: demonstrar como os estados de armadilha distribuídos são representados, resolvidos e diagnosticados em simulações de dispositivos semicondutores desordenados.
Partindo de uma simulação de uma célula solar orgânica PM6:Y6, comparámos distribuições de «cauda» exponencial de armadilhas, tanto estreitas como largas, em condições de escuridão e de iluminação. O alargamento da distribuição de armadilhas alterou a curva de corrente-tensão (JV) em condições de escuridão, a curva de corrente-tensão em condições de iluminação e a carga total armazenada, uma vez que o dispositivo podia ocupar uma gama mais ampla de estados localizados. Os resultados do mapeamento das armadilhas tornaram este comportamento visível diretamente, mostrando como a população de armadilhas ocupadas varia com a posição, a energia e a tensão aplicada.
Por fim, foi adicionada uma armadilha gaussiana profunda no topo da cauda exponencial, para demonstrar como modelos complexos de densidade de estados podem representar tanto a desordem energética superficial quanto os defeitos mais profundos que favorecem a recombinação. A simulação Suns–Voc demonstrou que esses estados profundos podem reduzir a tensão de circuito aberto, aumentando a recombinação assistida por armadilhas e diminuindo a separação do nível de quasi-Fermi sob iluminação. No geral, o tutorial demonstra que as distribuições de armadilhas não são uma correção menor nas simulações de semicondutores desordenados: elas são frequentemente essenciais para obter curvas JV, densidades de carga, taxas de recombinação e desempenho fotovoltaico com significado físico.
Próximos passos: se quiser aprofundar o conhecimento sobre a estrutura de modelagem mais ampla que envolve este tutorial, as páginas a seguir são um bom ponto de partida.
- O que são os semicondutores orgânicos? Materiais, dispositivos e aplicações — uma introdução mais abrangente aos materiais e às classes de dispositivos em que os estados de armadilhamento são importantes.
- Modelagem de dispositivos semicondutores orgânicos: células fotovoltaicas orgânicas, díodos orgânicos emissores de luz e transistores de efeito de campo orgânicos — uma visão geral de como os modelos de deriva-difusão, recombinação e modelos óticos são utilizados para dispositivos orgânicos.
- Simulação de células solares orgânicas (OPV) — um ponto de partida prático para simular dispositivos fotovoltaicos orgânicos no OghmaNano.
- Simulação de transístor orgânico de efeito de campo (OFET) — útil se quiser observar como o preenchimento de armadilhas e o transporte de carga se manifestam em geometrias de transístores.
- Exemplo de corrente limitada por efeito de carga espacial (SCLC). — um complemento útil para aprofundar a compreensão dos conceitos de injeção, mobilidade e transporte limitado por armadilhas.
- Simulação de morfologias de heterojunções em massa com cortes elétricos bidimensionais — um tutorial mais avançado que demonstra como a morfologia e o transporte interagem em células solares orgânicas.
- Por que os estados de armadilha são necessários nos modelos de semicondutores desordenados — a justificação física subjacente que explica por que as distribuições de armadilhas são necessárias para obter densidades de portadores, taxas de recombinação, mobilidades e curvas J–V realistas.