Tutorial de FDTD: Modulador Mach–Zehnder de Silício
1. Visão geral: o que você vai simular
Um modulador Mach–Zehnder (MZM) é um componente fotônico interferométrico que converte um sinal de controle elétrico em uma mudança de amplitude (ou intensidade) óptica. A luz é dividida em dois braços de guia de onda, acumula uma diferença de fase relativa e depois é recombinada. A potência de saída depende da relação de fase entre os dois braços: quando os braços se recombinam em fase, a saída é brilhante; e quando se recombinam fora de fase, a saída é suprimida.
Em fotônica de silício, MZMs são amplamente usados em comunicações de dados de alta velocidade, óptica coerente, interconexões ópticas e fotônica de micro-ondas integrada. Dispositivos práticos normalmente implementam controle de fase usando mecanismos eletro-ópticos disponíveis na plataforma (para silício, isso geralmente é dispersão por portadores via junções PN, capacitores MOS ou aquecedores para ajuste termo-óptico). Independentemente do mecanismo de atuação, o núcleo óptico do dispositivo é o mesmo: um divisor, dois braços guiados e um recombinador.
Neste tutorial, você executará uma simulação FDTD de uma estrutura representativa de modulador Mach–Zehnder de silício. O objetivo aqui não é construir uma co-simulação elétrica completa; em vez disso, você usará a propagação de campos no domínio do tempo para desenvolver intuição sobre como a energia guiada se divide, percorre os dois braços e se recombina na saída. Você irá inspecionar snapshots de densidade de potência e interpretar traços temporais dos detectores, incluindo o atraso de propagação entre detectores localizados nos braços e o detector posicionado mais adiante, onde os dois braços voltam a se juntar.
Do ponto de vista numérico, este exemplo é deliberadamente “pesado”: o domínio de simulação é relativamente grande e ele grava uma quantidade significativa de dados em disco. Isso o torna um bom teste de esforço para toda a pilha FDTD: definição de geometria, injeção da fonte, fronteiras absorventes CPML, integração temporal e extração por detectores, bem como para o pipeline de saída (snapshots e visualizadores de detectores).
2. Criando uma nova simulação
Abra a janela New simulation clicando no botão de nova simulação. Nessa janela, selecione a categoria FDTD examples e então clique duas vezes na demonstração Silicon Mach–Zehnder modulator (ela está listada na parte inferior). Quando solicitado, salve a simulação em um disco local.
Este exemplo grava muitos arquivos durante a execução (snapshots, saídas de detectores e dados intermediários). Por isso, evite salvá-lo em uma unidade de rede ou em um diretório virtualizado/sincronizado na nuvem (por exemplo, OneDrive). Um SSD local é o ideal. Se você salvá-lo em um armazenamento lento, poderá perceber que o tempo de execução aumenta drasticamente, ou que a interface fica lenta enquanto grava a saída.
3. Orientando-se na janela principal
O dispositivo aparece na visualização 3D na aba Device structure (??). Você deverá conseguir identificar os dois braços do interferômetro (os caminhos de guia de onda em forma de pista) e os objetos detectores coloridos (roxo, verde e vermelho) posicionados ao longo da estrutura. As cores exatas não são importantes, mas facilitam ver onde os sinais estão sendo monitorados na geometria.
Para este exemplo, você usará principalmente:
- Run simulation (▶) ou F9 para iniciar o cálculo FDTD.
- A aba Output para abrir diretórios/arquivos de snapshots e detectores.
- O Snapshot viewer para avançar no tempo e observar como a densidade de potência evolui.
- O Detector power viewer para plotar traços temporais de
power.csvpara cada detector.
4. Executando a simulação
Inicie a execução pressionando F9 ou clicando no botão azul de play (▶). Esta simulação é relativamente grande e leva um tempo não trivial para ser concluída porque a grade é considerável e porque grava snapshots e dados de detectores em disco.
Em um laptop razoavelmente potente, uma execução típica leva cerca de 10–15 minutos. Enquanto a execução está avançando, você
pode abrir a aba Output e observar os arquivos aparecerem. Em particular, você verá o diretório snapshots/,
e verá as saídas dos detectores (Detector 0, Detector 1, Detector 2) aparecerem à medida que a simulação avança.
5. Visualizando snapshots de densidade de potência
Abra a pasta snapshots/ a partir da aba Output
(??)
para iniciar o visualizador de snapshots. Uma janela representativa do visualizador de snapshots é mostrada em
??.
Usando o botão azul de mais, adicione powerdensity.csv ao visualizador. Você então poderá avançar no tempo usando o controle deslizante.
A maneira mais útil de observar esta simulação é acompanhar a energia guiada enquanto ela se propaga pelo dispositivo. No início do tempo, você verá a fonte sendo lançada no guia de onda de entrada e alcançando a região do divisor. À medida que o tempo avança, a potência se divide entre os dois braços. Snapshots posteriores mostram a potência continuando a se propagar ao longo dos braços em forma de pista. Mais tarde ainda, os dois braços se recombinam, e você pode ver a energia sendo roteada para a seção de saída.
Snapshots representativos são mostrados em ??– ??. Mesmo sem alterar nenhum parâmetro do dispositivo, esses snapshots deixam claro que esta é uma estrutura interferométrica: a energia é dividida, segue dois caminhos fisicamente separados e depois volta a se juntar.
snapshots/. Adicione powerdensity.csv e avance no tempo.
6. Visualizando as saídas dos detectores
Enquanto a simulação é executada (e depois que ela termina), você verá as saídas dos detectores aparecerem na aba Output
(??).
Cada entrada de detector se parece com um pequeno ícone no estilo CCD. Abra um detector clicando duas vezes nele, depois clique duas vezes em
power.csv dentro daquele diretório do detector para abrir o visualizador de potência do detector.
Este exemplo usa três detectores. Dois detectores monitoram os dois braços do interferômetro (para que você possa comparar o instante em que a energia guiada alcança cada monitor de braço), e o terceiro detector é posicionado mais adiante, no estágio final de saída, onde ambos os braços se recombinam. Os três gráficos dos detectores são mostrados em ??, ??, e ??.
Nesta execução, você deve observar que a potência começa a aumentar em aproximadamente \(3 \times 10^{-13}\,\mathrm{s}\) nos dois detectores dos braços, enquanto o detector a jusante começa mais tarde (cerca de aproximadamente o dobro desse tempo) porque está posicionado mais adiante no caminho de propagação, após os braços terem percorrido e recombinado. Isso é uma demonstração direta e intuitiva do atraso de propagação pela estrutura: os monitores dos braços respondem primeiro, e o monitor do estágio final responde depois porque a energia guiada precisa fisicamente percorrer um caminho maior.
Os traços não são perfeitamente suaves porque não estamos fazendo média temporal agressiva; em vez disso, você pode ver o conteúdo guiado dependente do tempo à medida que passa pelos monitores. Interpretar esses gráficos como potência “instantânea” geralmente não é o ideal; a interpretação mais útil neste tutorial é o tempo de chegada e a evolução do envelope do sinal à medida que a energia guiada continua a se propagar e interferir.
7. Inspecionando o modo guiado
Para entender melhor o que a simulação está fazendo, é útil ampliar o modo guiado dentro do guia de onda. Um exemplo disso é mostrado em ??. Nessa imagem, o detector está localizado dentro do modo guiado do guia de onda.
O modo aparece como uma sequência de pontos ou pequenos segmentos de linha. Essa aparência é apenas um artefato do método de renderização usado no visualizador de snapshots: os campos são plotados como pontos de amostragem discretos para reduzir a carga na GPU e permitir que simulações grandes sejam visualizadas interativamente. Apesar desse estilo de renderização, a propagação do modo guiado é muito clara e você pode ver facilmente o campo viajando ao longo do guia de onda.
Você pode experimentar diferentes estilos visuais usando o botão de roda de cores na barra de ferramentas do visualizador de snapshots. Isso altera o mapa de cores usado para visualizar o campo de densidade de potência, o que às vezes pode facilitar a observação de padrões de interferência ou de feições fracas de radiação.
8. Alterando o comprimento de onda da excitação
O comportamento de estruturas fotônicas como interferômetros Mach–Zehnder depende fortemente do comprimento de onda da luz injetada. No exemplo fornecido com o OghmaNano, o comprimento de onda é escolhido para corresponder ao modo guiado do guia de onda de silício. Como experimento, agora vamos alterar deliberadamente o comprimento de onda para que a estrutura deixe de suportar propagação guiada.
Navegue até a faixa Optical mostrada em ?? e abra o editor de malha óptica. Nas configurações de comprimento de onda (??) altere o intervalo de comprimento de onda para que a simulação execute com luz verde.
Defina o start wavelength como 530 nm e o stop wavelength como 531 nm. Isso é muito menor do que o comprimento de onda originalmente usado no exemplo.
Depois de fazer essa alteração, execute novamente a simulação. O resultado é mostrado em ??. Em vez de permanecer confinado ao guia de onda, o campo óptico agora se espalha para fora pelo domínio da simulação. O resultado é um padrão de radiação impressionante que lembra uma borboleta ou um leque de interferência.
Isso ocorre porque o comprimento de onda agora é muito menor em relação à geometria do guia de onda, de modo que a estrutura deixa de suportar um modo guiado bem confinado. O interferômetro Mach–Zehnder, portanto, deixa de se comportar como um circuito fotônico e passa a se comportar mais como uma simples abertura radiativa.
Este experimento destaca um importante princípio de projeto em fotônica integrada: estruturas de guia de onda são altamente dependentes do comprimento de onda. Você pode repetir este teste com diferentes comprimentos de onda para determinar quais regiões espectrais suportam propagação guiada nesta geometria.
9. Resolução de malha e modos radiativos
No exemplo padrão, você perceberá que as curvas do guia de onda aparecem extremamente suaves. Isso é intencional. Curvas suaves ajudam a manter o modo óptico confinado dentro do guia de onda e evitam perdas por radiação quando o campo óptico muda de direção.
A estrutura Mach–Zehnder deste tutorial é construída a partir de quatro segmentos curvos de guia de onda formando um interferômetro em formato de pista. Para demonstrar a importância de uma geometria suave, clique com o botão direito no elemento curvo do guia de onda mais próximo de você e selecione Mesh editor (??).
Isso abre a janela do editor de malha mostrada em ??. Localize o parâmetro chamado Arc segments. No exemplo original, esse valor está definido como 32, o que produz um guia de onda curvo suave.
Reduza o número de segmentos de arco para 1. Esse é o menor número de segmentos permitido e efetivamente converte a curva suave em um polígono grosseiro construído a partir de seções retangulares.
Quando você executar novamente a simulação, observará fortes perdas por radiação ao redor das quinas do guia de onda, como mostrado em ??. À medida que o campo óptico alcança cada mudança brusca de direção, parte da energia deixa de ser guiada e escapa como radiação.
Você também verá alguma radiação próxima à região de injeção da fonte. Essa radiação é simplesmente causada por um desajuste entre o autômode da fonte injetada e o autômode exato do guia de onda e pode ser ignorada nesta demonstração.
10. Editando a fonte de luz
Por fim, vamos explorar brevemente como a fonte de excitação pode ser modificada. Por padrão, a simulação usa uma fonte de onda senoidal contínua. No entanto, o OghmaNano permite configurar uma ampla variedade de tipos e parâmetros de fonte.
Mudar para a visualização mostrada em ?? revela a fonte de excitação como uma seta verde emergindo da parte inferior do guia de onda. Clique com o botão direito nessa seta e selecione Edit object (??).
Isso abre o editor da fonte de luz (??), que permite configurar a forma de onda da excitação. Em vez de uma onda senoidal contínua, você pode especificar pulsos, alterar os tempos de início e fim ou excitar diferentes componentes de campo.
Um experimento útil é definir a duração da fonte em termos de passos de simulação em vez de femtossegundos. Por exemplo, defina o tempo final para aproximadamente 400 passos. Quando a simulação for executada, a fonte injetará um pulso de luz no guia de onda e depois será desligada. Você poderá então observar o pacote de onda resultante se propagando pelo interferômetro e eventualmente saindo da estrutura.
Você também pode experimentar excitar diferentes componentes de campo (polarização x, y ou z) ou testar diferentes formas de pulso. Essas variações são extremamente úteis ao estudar comportamento transiente, atraso de grupo ou distorção de pulso em dispositivos fotônicos.
Isso conclui o tutorial do modulador Mach–Zehnder. Ao experimentar com comprimento de onda, resolução de malha e parâmetros da fonte, você pode explorar como estruturas fotônicas guiam, confinam e manipulam campos ópticos em circuitos fotônicos integrados.