Tutorial de FDTD: Fenda dupla (onda senoidal contínua)
1. Introdução
O experimento de fenda dupla é a demonstração clássica de que a luz se comporta como uma onda. Uma fonte coerente ilumina duas aberturas estreitas, e os campos transmitidos se espalham para a região além das fendas. Como ambas as aberturas emitem frentes de onda coerentes, elas interferem: regiões onde a fase se alinha formam máximos de intensidade, enquanto regiões com fase oposta formam mínimos. O resultado é um padrão característico de difração em forma de leque, modulado por franjas de interferência.
Você executará o exemplo incorporado Double slit, confirmará que um dispositivo OpenCL é detectado (para que a simulação possa ser executada em uma GPU quando disponível) e então inspecionará os snapshots de densidade de potência para ver as frentes de onda difratarem através das duas aberturas e formarem o padrão de interferência esperado na região de espaço livre.
2. Criando uma nova simulação
Comece na janela principal do OghmaNano e clique em New simulation. No navegador New simulation, dê duplo clique em FDTD examples e depois dê duplo clique em Double slit (??, ??). Isso abrirá a janela principal da simulação mostrada em ??.
3. Orientando-se na janela principal
Depois de carregar o exemplo, a geometria é mostrada na aba Device structure (??). A aba Terminal exibe a saída do solver durante a execução, incluindo espaçamento da grade, passo de tempo e qual dispositivo OpenCL foi selecionado. A aba Output lista os arquivos produzidos pela simulação, incluindo o diretório snapshots que contém dados de densidade de potência dependentes do tempo.
4. Executando a simulação
Inicie o cálculo clicando em Run simulation (▶) ou pressionando F9. A saída do solver aparece na aba Terminal (??). Neste exemplo você pode ver uma linha de status verde indicando que o OghmaNano está procurando dispositivos OpenCL, e que um dispositivo OpenCL foi encontrado e selecionado.
Isso é importante para o desempenho. Se uma GPU compatível com OpenCL estiver disponível (integrada ou dedicada), o OghmaNano pode executar as etapas de atualização FDTD na GPU em vez da CPU, o que normalmente é significativamente mais rápido para esses cálculos baseados em grade. A maioria dos computadores modernos fornece pelo menos um dispositivo OpenCL, então em muitos casos você verá um dispositivo selecionado automaticamente. Se nenhum dispositivo compatível for encontrado, a simulação ainda será executada na CPU; ela apenas levará mais tempo.
5. Inspecionando as saídas
Quando a execução terminar, abra a aba Output para visualizar os arquivos gerados pela simulação. A listagem de saída é mostrada em
??.
A partir daí, você pode abrir a pasta snapshots/, que contém as quantidades derivadas do campo e dependentes do tempo
salvas durante a execução.
snapshots/ para visualizar snapshots de densidade de potência no domínio do tempo.
6. Visualizando snapshots de densidade de potência
Dê duplo clique no diretório snapshots/ na aba Output para abrir o visualizador de snapshots. Depois selecione
power_density.csv como o arquivo a ser plotado. O controle deslizante na parte inferior do visualizador percorre o tempo, permitindo
observar como a densidade de energia eletromagnética evolui à medida que a simulação avança.
A sequência mostrada em ??– ?? ilustra a física esperada. A onda senoidal contínua é lançada na estrutura, alcança as duas aberturas e então difrata para a região além das fendas. Como há dois emissores coerentes, as frentes de onda que se espalham se sobrepõem e interferem, produzindo uma região de difração em forma de leque com faixas alternadas correspondentes a interferência construtiva e destrutiva.
O esquema de cores do visualizador de snapshots pode ser alterado clicando em Colors. Isso não altera o resultado da simulação; apenas muda como os mesmos dados são mapeados para a paleta exibida. Para publicações ou ensino, pode ser útil mudar a paleta para que as franjas de interferência sejam mais fáceis de ver sobre o fundo.
7. Interpretando o que você vê
A característica principal do resultado de fenda dupla é a combinação de dois efeitos. Primeiro, cada abertura produz difração, então até mesmo uma única fenda alargaria o campo transmitido em uma distribuição em expansão. Segundo, como há duas aberturas alimentadas pela mesma fonte coerente, os campos transmitidos permanecem relacionados em fase, de modo que sua superposição produz franjas de interferência. Nos snapshots, isso aparece como um padrão estruturado na região além das fendas, onde faixas de alta densidade de potência são separadas por regiões de menor potência.
Em uma execução com onda senoidal contínua (CW), normalmente há um transitório inicial enquanto o domínio é preenchido com o campo injetado, seguido por um regime em que o campo oscila senoidalmente e o padrão de densidade de potência parece estável no tempo quando visualizado na cadência dos snapshots. Se você observar fortes reflexões espúrias, bandas brilhantes inesperadas próximas às fronteiras ou um campo instável e crescente, os suspeitos usuais são as condições de contorno, espessura insuficiente da camada absorvente ou um passo de tempo agressivo demais para a resolução de grade escolhida.
8. Verificações rápidas e modos comuns de falha
- Reflexões inesperadas: verifique se as fronteiras absorventes (CPML) estão ativadas e suficientemente espessas, e se as fontes não estão muito próximas da fronteira.
- O padrão parece “quadriculado” ou distorcido: aumente a resolução espacial próximo às fendas, porque feições agudas são as mais sensíveis à dispersão da grade.
- Execução lenta: verifique a saída da aba Terminal para a seleção do dispositivo OpenCL; se a execução estiver na CPU, será mais lenta.
- Sem leque de interferência claro: certifique-se de que a excitação é coerente e de que você está plotando
power_density.csvdesnapshots/e não outra saída não relacionada.
9. Ativando detectores ópticos
O exemplo de fenda dupla pode opcionalmente registrar a potência óptica incidente em regiões detectoras definidas pelo usuário. Esses detectores atuam como pequenas janelas de monitoramento colocadas no domínio da simulação: durante a execução, o OghmaNano integra a potência que cruza cada área detectora e salva um traço temporal no diretório de saída.
Para ativar detectores, navegue até a faixa Optical e localize o botão Optical Detectors, mostrado com um ícone de câmera estilo CCD (??).
Clicar em Optical Detectors abre o editor de detectores. Neste exemplo há dois detectores (nomeados one e two) e ambos estão inicialmente desativados. Quando um detector está desativado, a barra de ferramentas mostra um estado vermelho Disabled. Clique no botão desativado para ativá-lo; o indicador fica verde para mostrar que o detector está ativo (??, ??). Repita isso para o segundo detector, de modo que ambos fiquem ativados.
No editor de detectores você também pode ver a posição do detector (x, y, z) e seu tamanho em micrômetros. Para este tutorial, você não precisa alterar nenhum desses valores; o exemplo já está pré-configurado para demonstrar um ponto físico importante: um detector fica em uma região de alta intensidade difratada, enquanto o outro fica em uma região onde o campo difratado é comparativamente fraco.
10. Executar novamente e visualizar as saídas dos detectores
Depois de ativar os detectores, execute novamente a simulação (▶ ou F9). Quando a execução terminar, abra a aba Output.
Agora você deverá ver duas entradas de saída adicionais correspondentes aos resultados dos detectores (por exemplo detector0 e
detector1), como mostrado em
??.
Dê duplo clique em cada entrada do detector para abrir seu gráfico de potência versus tempo
(??,
??).
A diferença entre os dois traços é mais fácil de entender comparando suas escalas verticais. Um detector registra potência no nível de apenas alguns microwatts (ou menos), enquanto o outro registra um sinal substancialmente maior assim que o campo difratado o alcança. O início retardado em ambos os traços é esperado: a simulação começa em t=0 com a fonte sendo ligada, e os detectores não podem responder até que a onda eletromagnética tenha se propagado da fonte, através das fendas, e pela região de espaço livre até suas posições.
11. Interpretação física: detectores e lóbulos de difração
O objetivo de posicionar dois detectores é conectar os dados no domínio do tempo ao padrão espacial de difração. Em um sistema de fenda dupla, a estrutura de campo distante não é uniforme: existem direções nas quais as contribuições das duas fendas somam construtivamente (alta intensidade), e direções nas quais somam destrutivamente (baixa intensidade). Em outras palavras, o campo difratado forma lóbulos e vales, e a potência medida pelo detector depende fortemente de o detector estar em uma região brilhante ou em um nulo.
Isso é visível diretamente na visualização de snapshots com os detectores presentes (??). Um detector está localizado no caminho de um lóbulo difratado forte e, portanto, acumula potência óptica significativa. O outro detector está em uma região onde a interferência é predominantemente destrutiva (um vale do padrão), de modo que comparativamente pouca potência cruza sua área de monitoramento. É por isso que os dois traços de saída diferem por ordens de grandeza, mesmo que os detectores sejam objetos idênticos em todos os demais aspectos.
Conceitualmente, esta é a mesma física usada em metrologia óptica e imageamento: um detector não mede uma “potência total” abstrata da simulação, ele mede qualquer porção do campo que cruza sua área finita em sua localização específica. Mover o detector apenas uma pequena distância pode deslocá-lo de uma franja brilhante para uma franja escura vizinha, o que pode mudar dramaticamente a potência medida. Em sistemas práticos, essa sensibilidade é exatamente por que padrões de difração e interferência são úteis: eles codificam informações geométricas (espaçamento entre fendas, tamanho da abertura, comprimento de onda) em distribuições de intensidade mensuráveis.
12. Ajustando a fenda
Uma vantagem de um experimento FDTD numérico é que a geometria pode ser modificada interativamente e o comportamento óptico resultante pode ser explorado imediatamente. Nesta seção modificamos a posição do elemento bloqueador central que forma a abertura de fenda dupla e observamos como isso muda o padrão de difração e a potência detectada pelos dois detectores ópticos.
Usando o mouse na janela 3D do dispositivo, selecione o bloco central que forma a fenda dupla e arraste-o para o lado esquerdo da estrutura, como mostrado em ??. Normalmente os objetos não podem atravessar uns aos outros durante o arraste, mas se o bloco colidir com outro objeto você pode manter a tecla Shift pressionada enquanto arrasta. Isso permite que o bloco atravesse outra geometria para que possa ser reposicionado facilmente.
Depois de mover o bloco, execute novamente a simulação (▶ ou F9). A distribuição resultante do campo óptico é mostrada em ??.
Nesta configuração, o feixe óptico não se divide mais em duas fontes difratantes comparáveis. Em vez disso, a luz passa predominantemente por uma única abertura e propaga-se para a frente de modo mais colimado. Ainda ocorre alguma difração, porque qualquer abertura finita produz espalhamento segundo a óptica ondulatória, mas o padrão de interferência que antes era produzido por duas fendas coerentes agora é muito mais fraco. Como consequência, os detectores recebem muito pouca potência óptica em comparação com a geometria original.
13. Movendo o bloco em direção à fonte
Em seguida, modificamos a geometria de uma maneira diferente. Usando o mouse novamente, arraste o bloco central para trás em direção à fonte óptica, como mostrado em ??. Como antes, você pode manter a tecla Shift pressionada enquanto arrasta para permitir que o bloco passe por outros objetos, se necessário.
Quando o bloco tiver sido reposicionado, execute novamente a simulação. A distribuição de campo resultante é mostrada em ??.
Mover o elemento bloqueador para mais perto da fonte altera a geometria efetiva da abertura e, portanto, muda a distribuição espacial do campo óptico transmitido. Como a difração depende sensivelmente da forma e da posição da abertura em relação à frente de onda incidente, mesmo mudanças geométricas relativamente pequenas podem modificar significativamente a estrutura de interferência resultante. Neste caso, os feixes difratados emergem em ângulos diferentes e o padrão de interferência muda de acordo.
Isso demonstra uma característica fundamental das simulações de óptica ondulatória: os padrões de difração são determinados inteiramente pela geometria e pelo comprimento de onda. Ao modificar o layout físico da estrutura, você pode explorar como a forma da abertura, a separação entre fendas e o posicionamento de obstáculos afetam a distribuição do campo óptico resultante e a potência medida por detectores colocados dentro do domínio da simulação.
14. Adicionando uma lente usando o editor de malha
Nas seções anteriores exploramos como mudar a geometria da abertura muda o padrão de difração. Nesta seção final vamos um passo além e demonstrar como transformar um objeto simples em uma malha mais complexa usando o Mesh editor. Este é um fluxo de trabalho poderoso no OghmaNano: você pode começar com primitivas simples para desenvolver intuição e depois progressivamente introduzir componentes ópticos mais realistas, como lentes, superfícies curvas e malhas CAD importadas.
Primeiro, reoriente a visualização do dispositivo para que corresponda a ??. Depois clique com o botão direito no bloco central da estrutura de fenda dupla e abra o Mesh editor. Isso abre o editor mostrado em ??. No editor de malha, clique no botão Lens e insira os parâmetros exatamente como mostrado em ??.
Com esses valores você pode gerar um objeto em forma de lente. Se deixar a lente em sua orientação padrão, ela aparecerá como uma lente “plana” na visualização do dispositivo, como mostrado em ??. Para este tutorial, não queremos a lente deitada no plano da simulação, porque o campo óptico não interagirá com ela de forma significativa. A lente precisa ser girada para ficar em pé e interceptar a frente de onda em propagação.
15. Girando a lente e definindo um material óptico
Para girar o novo objeto lente, clique com o botão direito na lente e abra o Object editor. Isso abre o editor mostrado em ??. Defina os ângulos de rotação para 90, 90 e 0 (x, y, z) exatamente como mostrado. Isso gira a lente para que fique em pé no caminho de propagação e possa interagir fortemente com o campo incidente.
Enquanto estiver no editor de objetos, torne a lente opticamente transparente selecionando o material óptico mostrado na figura: inorganic/Si/Green-2008. Este é um perfil conveniente de índice de refração de banda larga para silício, adequado para demonstrar comportamento de refração e focalização. Com esse material atribuído, a lente torna-se um verdadeiro objeto refrativo, em vez de apenas um bloqueador geométrico.
Depois de definir a rotação e o material, a geometria deve se parecer com ??, onde a lente fica em pé na região de simulação.
16. Executando a simulação FDTD com a lente
Execute novamente a simulação com a lente presente. Um snapshot representativo de densidade de potência é mostrado em ??. Você pode ver claramente a frente de onda incidente interagindo com a superfície refrativa curva: parte do campo é transmitida através da lente e refratada, e parte é refletida de volta em direção à fonte.
O campo transmitido forma uma região de estrutura de frente de onda muito mais densa dentro e ao redor da lente, e o campo de saída mostra evidência de focalização: a energia transmitida concentra-se em uma região menor, em vez de continuar a espalhar-se livremente como no caso sem a abertura com a lente ausente. Ao mesmo tempo, a reflexão na lente envia uma fração significativa da potência óptica de volta em direção à região da abertura, o que reduz a quantidade de potência que alcança os detectores colocados a jusante. Isso é exatamente o que se esperaria fisicamente: um elemento refrativo introduz desajuste de impedância em suas interfaces e, a menos que a lente tenha revestimento antirreflexo ou casamento de índice, a reflexão de Fresnel pode ser substancial.
Este exemplo ilustra por que ferramentas de “transformação de malha” são importantes em simulações práticas. Mesmo sistemas simples rapidamente passam a ser dominados por superfícies curvas e componentes ópticos projetados. Ser capaz de transformar um bloco básico em uma lente (ou qualquer outro objeto de malha) permite construir óptica diretamente dentro do mesmo fluxo de trabalho usado para FDTD. A mesma abordagem pode ser usada para criar e estudar microlentes, concentradores, elementos ópticos difrativos, estruturas de modelagem de frente de onda ou geometrias CAD importadas para dispositivos realistas.