Drift–diffusion 3D: resistor de GaAs dopado
Este tutorial demonstra como passar de uma configuração rápida 2D de drift–diffusion para uma simulação elétrica 3D completa de um dispositivo simples — mas muito instrutivo: um resistor de arseneto de gálio (GaAs) dopado. É ideal para ensino e listas de exercícios: a física é limpa, a JV é quase linear e as saídas ilustram bem como potenciais e correntes se distribuem no espaço.
1. Criar o resistor de GaAs 2D
- New simulation → GaAs demos → Doped wire / resistor.
- Geometria: comece em 2D com pontos de malha ao longo de X e Y. (Mantenha Z desativado por enquanto; iremos ativá-lo depois.)
- Dopagem: defina um perfil de aceitadores que aumente da esquerda→direita (gradiente tipo p). O “fio” é apenas um bloco retangular de GaAs com esse gradiente aplicado.
- Contatos: faces opostas atuam como eletrodos (superior/inferior ou esquerda/direita, dependendo da sua convenção de eixos). Um será varrido em tensão, enquanto o outro será mantido em 0 V.
- Recombinação: ative SRH simples (forma analítica). Nenhuma armadilha dinâmica é necessária para esta demonstração.
2. Executar & verificar consistência (2D)
Clique em Run. No log:
- Os tempos de etapa devem ser de alguns ms cada (em um laptop modesto, ordem de 6–8 ms).
- As correntes de contato coincidem (topo = base em regime estacionário). Se não coincidirem, você provavelmente está no domínio do tempo ou não convergiu.
- Os resíduos (erro total) devem ser pequenos: ≲10−9 é excelente. Valores como 10−6…10−3 sugerem verificar novamente as configurações/malha.
Abra Output:
- Curva JV: comportamento quase linear, como esperado para um resistor. Pequenas oscilações podem aparecer devido à carga espacial e à dopagem.
- Snapshots: plote EC (banda de condução; às vezes rotulada como “LUMO” em UI genérica), ϕ (potencial eletrostático) e densidades de portadores (n, p) à medida que a polarização aumenta.
3. Estender para 3D: malha & contatos
Ative a dimensão Z no editor de malha. Escolha primeiro tamanhos modestos:
Nx × Ny × Nz = 5 × 5 × 5. O tempo de execução/memória escala aproximadamente como
\( \mathcal{O}(N_x N_y N_z) \approx \mathcal{O}(N^3) \), então
10×10×10 é aceitável em um laptop, mas 20×20×20 ou mais pode ficar pesado rapidamente.
Em 3D, contatos são objetos de área finita (não abrangem implicitamente a face inteira como em 2D). Abra o Dimension/Contact editor e:
- Defina a largura/profundidade de cada contato para corresponder ao dispositivo (para eletrodos de face inteira) ou escolha dimensões parciais (por exemplo, 0.5×0.5 da face) para estudar espalhamento de corrente.
- Ajuste os offsets para posicionar os pads onde desejar (demonstra injeção/extração assimétrica).
4. Executar & analisar (3D)
Execute a simulação 3D (mantenha a malha modesta). Inspecione:
- Curva JV: deve permanecer quase linear (resistiva). Compare com os valores 2D.
- Potencial ϕ em 3D: avance a polarização e observe a evolução da distribuição de potencial 3D. Use ferramentas de corte/seção transversal para “cortar” o dispositivo e facilitar a interpretação.
- Correntes: plote os seis componentes:
- Jn,x, Jn,y, Jn,z
- Jp,x, Jp,y, Jp,z
- Portadores: n(x,y,z,V), p
5. Dicas práticas & armadilhas
- Prototipe primeiro em 1D/2D. Valide a física e a numérica, depois ative Z apenas quando necessário.
- Economia de malha supera força bruta. Mais pontos ≠ mais precisão se as EDPs forem resolvidas com resíduos apertados entre os nós. Aumente a malha apenas para capturar gradientes reais.
- Verificações de convergência: imponha resíduos pequenos (≲10−8), correntes de contato coincidentes e tempos de etapa estáveis. Se os resíduos saturarem em 10−5…10−3, reveja escalonamento, polarizações ou malha.
- Escolha de SRH: o SRH analítico simples é adequado para esta demonstração de resistor. Ative armadilhas dinâmicas apenas quando precisar de cinética de armadilhas.
- Escalonamento de memória: dobrar a malha ao longo de cada eixo ~8× incógnitas; observe a RAM para
20×20×20e acima.