Tutorial de FDTD: Doble rendija (onda sinusoidal continua)
1. Introducción
El experimento de doble rendija es la demostración clásica de que la luz se comporta como una onda. Una fuente coherente ilumina dos aberturas estrechas, y los campos transmitidos se expanden hacia la región más allá de las rendijas. Debido a que ambas aberturas emiten frentes de onda coherentes, interfieren: las regiones donde la fase se alinea forman máximos de intensidad, mientras que las regiones con fase opuesta forman mínimos. El resultado es un patrón característico de difracción en forma de abanico modulado por franjas de interferencia.
Ejecutará el ejemplo integrado Double slit, confirmará que se detecta un dispositivo OpenCL (para que la simulación pueda ejecutarse en una GPU cuando esté disponible) y luego inspeccionará las instantáneas de densidad de potencia para ver cómo los frentes de onda se difractan a través de las dos aberturas y forman el patrón de interferencia esperado en la región de espacio libre.
2. Creación de una nueva simulación
Comience desde la ventana principal de OghmaNano y haga clic en New simulation. En el explorador New simulation, haga doble clic en FDTD examples y luego haga doble clic en Double slit (??, ??). Esto abrirá la ventana principal de simulación mostrada en ??.
3. Orientación en la ventana principal
Después de cargar el ejemplo, la geometría se muestra en la pestaña Device structure (??). La pestaña Terminal muestra la salida del solucionador durante la ejecución, incluido el espaciado de la malla, el paso temporal y qué dispositivo OpenCL ha sido seleccionado. La pestaña Output enumera los archivos producidos por la simulación, incluido el directorio de instantáneas que contiene datos de densidad de potencia dependientes del tiempo.
4. Ejecución de la simulación
Inicie el cálculo haciendo clic en Run simulation (▶) o pulsando F9. La salida del solucionador aparece en la pestaña Terminal (??). En este ejemplo puede ver una línea de estado verde que indica que OghmaNano está searching for OpenCL devices, y que se ha encontrado y seleccionado un dispositivo OpenCL.
Esto es importante para el rendimiento. Si hay disponible una GPU compatible con OpenCL (integrada o dedicada), OghmaNano puede ejecutar los pasos de actualización FDTD en la GPU en lugar de la CPU, lo que normalmente es significativamente más rápido para estos cálculos basados en malla. La mayoría de los ordenadores modernos proporcionan al menos un dispositivo OpenCL, por lo que en muchos casos verá un dispositivo seleccionado automáticamente. Si no se encuentra ningún dispositivo compatible, la simulación sigue ejecutándose en la CPU; simplemente tardará más.
5. Inspección de salidas
Cuando finalice la ejecución, abra la pestaña Output para ver los archivos generados por la simulación. La lista de salida se muestra en
??.
Desde aquí puede abrir la carpeta snapshots/, que contiene las cantidades derivadas del campo dependientes del tiempo
guardadas durante la ejecución.
snapshots/ para ver instantáneas de densidad de potencia en el dominio temporal.
6. Visualización de instantáneas de densidad de potencia
Haga doble clic en el directorio snapshots/ de la pestaña Output para abrir el visor de instantáneas. Luego seleccione
power_density.csv como archivo a representar. El control deslizante en la parte inferior del visor recorre el tiempo, permitiéndole
observar cómo evoluciona la densidad de energía electromagnética a medida que progresa la simulación.
La secuencia mostrada en ??– ?? ilustra la física esperada. La onda sinusoidal continua se lanza dentro de la estructura, alcanza las dos aberturas y luego se difracta hacia la región más allá de las rendijas. Debido a que hay dos emisores coherentes, los frentes de onda que se expanden se superponen e interfieren, produciendo una región de difracción en forma de abanico con bandas alternas correspondientes a interferencia constructiva y destructiva.
El esquema de colores del visor de instantáneas puede cambiarse haciendo clic en Colors. Esto no cambia el resultado de la simulación; solo cambia cómo se mapean los mismos datos a la paleta mostrada. Para publicaciones o docencia, puede ser útil cambiar de paleta para que las franjas de interferencia sean más fáciles de ver sobre el fondo.
7. Interpretación de lo que ve
La característica clave del resultado de doble rendija es la combinación de dos efectos. Primero, cada abertura produce difracción, por lo que incluso una sola rendija ampliaría el campo transmitido en una distribución en expansión. Segundo, debido a que hay dos aberturas alimentadas por la misma fuente coherente, los campos transmitidos permanecen relacionados en fase, por lo que su superposición produce franjas de interferencia. En las instantáneas esto aparece como un patrón estructurado en la región más allá de las rendijas, donde bandas de alta densidad de potencia están separadas por regiones de menor potencia.
En una ejecución de onda sinusoidal continua (CW), normalmente hay un transitorio inicial mientras el dominio se llena con el campo inyectado, seguido por un régimen en el que el campo oscila sinusoidalmente y el patrón de densidad de potencia parece estable en el tiempo cuando se observa a la cadencia de las instantáneas. Si ve reflexiones espurias intensas, bandas brillantes inesperadas cerca de los límites o un campo inestable y creciente, los sospechosos habituales son las condiciones de contorno, un espesor insuficiente de la capa absorbente o un paso temporal demasiado agresivo para la resolución de malla elegida.
8. Comprobaciones rápidas y modos comunes de fallo
- Reflexiones inesperadas: verifique que los contornos absorbentes (CPML) estén habilitados y tengan espesor suficiente, y que las fuentes no estén demasiado cerca del contorno.
- El patrón parece “cuadriculado” o distorsionado: aumente la resolución espacial cerca de las rendijas, porque las características agudas son las más sensibles a la dispersión de la malla.
- Ejecución lenta: compruebe en la salida de Terminal la selección del dispositivo OpenCL; si la ejecución se realiza en CPU, será más lenta.
- No hay un abanico de interferencia claro: asegúrese de que la excitación sea coherente y de que esté representando
power_density.csvdesnapshots/y no una salida no relacionada.
9. Habilitación de detectores ópticos
El ejemplo de doble rendija puede registrar opcionalmente la potencia óptica incidente en regiones detectoras definidas por el usuario. Estos detectores actúan como pequeñas ventanas de monitorización colocadas en el dominio de simulación: durante la ejecución, OghmaNano integra la potencia que cruza cada área detectora y guarda una traza temporal en el directorio de salida.
Para habilitar los detectores, navegue hasta la cinta Optical y localice el botón Optical Detectors, que se muestra con un icono de cámara tipo CCD (??).
Al hacer clic en Optical Detectors se abre el editor de detectores. En este ejemplo hay dos detectores (llamados one y two) y ambos están inicialmente deshabilitados. Cuando un detector está deshabilitado, la barra de herramientas muestra un estado rojo Disabled. Haga clic en el botón de deshabilitado para habilitarlo; el indicador se vuelve verde para mostrar que el detector está activo (??, ??). Repita esto para el segundo detector de modo que ambos queden habilitados.
En el editor de detectores también puede ver la posición del detector (x, y, z) y su tamaño en micrómetros. Para este tutorial no necesita cambiar ninguno de estos valores; el ejemplo está preconfigurado para demostrar un punto físico importante: un detector se sitúa en una región de alta intensidad difractada, mientras que el otro se sitúa en una región donde el campo difractado es comparativamente débil.
10. Reejecutar y ver las salidas de detectores
Después de habilitar los detectores, vuelva a ejecutar la simulación (▶ o F9). Cuando termine la ejecución, abra la pestaña Output.
Ahora debería ver dos entradas de salida adicionales correspondientes a los resultados de los detectores (por ejemplo detector0 y
detector1), como se muestra en
??.
Haga doble clic en cada entrada de detector para abrir su gráfica de potencia frente al tiempo
(??,
??).
La diferencia entre las dos trazas se entiende más fácilmente comparando sus escalas verticales. Un detector registra potencia en el nivel de solo unos pocos microwatts (o menos), mientras que el otro registra una señal sustancialmente mayor una vez que el campo difractado lo alcanza. El inicio retardado en ambas trazas es esperable: la simulación comienza en t=0 con la fuente encendiéndose, y los detectores no pueden responder hasta que la onda electromagnética se ha propagado desde la fuente, a través de las rendijas y a lo largo de la región de espacio libre hasta sus posiciones.
11. Interpretación física: detectores y lóbulos de difracción
El propósito de colocar dos detectores es conectar los datos en el dominio temporal con el patrón espacial de difracción. En un sistema de doble rendija, la estructura de campo lejano no es uniforme: hay direcciones en las que las contribuciones de las dos rendijas se suman constructivamente (alta intensidad), y direcciones en las que se suman destructivamente (baja intensidad). En otras palabras, el campo difractado forma lóbulos y valles, y la potencia medida por el detector depende fuertemente de si el detector se sitúa en una región brillante o en un nulo.
Esto se ve directamente en la vista de instantáneas con detectores presentes (??). Un detector se encuentra en la trayectoria de un lóbulo difractado intenso y por tanto acumula una potencia óptica significativa. El otro detector se encuentra en una región donde la interferencia es predominantemente destructiva (un valle del patrón), por lo que cruza comparativamente poca potencia a través de su área de monitorización. Por eso las dos trazas de salida difieren en órdenes de magnitud, aunque por lo demás los detectores sean objetos idénticos.
Conceptualmente, esta es la misma física utilizada en metrología óptica e imagen: un detector no mide una “potencia total” abstracta de la simulación, sino la porción del campo que cruza su área finita en su ubicación específica. Desplazar el detector solo una pequeña distancia puede moverlo desde una franja brillante a una franja oscura vecina, lo que puede cambiar drásticamente la potencia medida. En sistemas prácticos, esta sensibilidad es precisamente la razón por la que los patrones de difracción e interferencia son útiles: codifican información geométrica (separación de rendijas, tamaño de abertura, longitud de onda) en distribuciones de intensidad medibles.
12. Ajuste de la rendija
Una ventaja de un experimento FDTD numérico es que la geometría puede modificarse interactivamente y el comportamiento óptico resultante puede explorarse de inmediato. En esta sección modificamos la posición del elemento bloqueante central que forma la abertura de doble rendija y observamos cómo esto cambia el patrón de difracción y la potencia detectada por los dos detectores ópticos.
Usando el ratón en la 3D device window, seleccione el bloque central que forma la doble rendija y arrástrelo hacia el lado izquierdo de la estructura como se muestra en ??. Normalmente los objetos no pueden atravesarse entre sí mientras se arrastran, pero si el bloque colisiona con otro objeto puede mantener pulsada la tecla Shift mientras arrastra. Esto permite que el bloque atraviese otra geometría para poder recolocarlo fácilmente.
Después de mover el bloque, vuelva a ejecutar la simulación (▶ o F9). La distribución de campo óptico resultante se muestra en ??.
En esta configuración el haz óptico ya no se divide en dos fuentes de difracción comparables. En su lugar, la luz pasa predominantemente a través de una única abertura y se propaga hacia delante de forma más colimada. Todavía se produce cierta difracción, porque cualquier abertura finita produce expansión según la óptica ondulatoria, pero el patrón de interferencia que antes era producido por dos rendijas coherentes ahora es mucho más débil. Como consecuencia, los detectores reciben muy poca potencia óptica en comparación con la geometría original.
13. Moviendo el bloque hacia la fuente
A continuación modificamos la geometría de una forma diferente. Usando nuevamente el ratón, arrastre el bloque central hacia atrás, hacia la fuente óptica, como se muestra en ??. Como antes, puede mantener pulsada la tecla Shift mientras arrastra para permitir que el bloque pase a través de otros objetos si es necesario.
Una vez que el bloque se haya recolocado, vuelva a ejecutar la simulación. La distribución de campo resultante se muestra en ??.
Mover el elemento bloqueante más cerca de la fuente altera la geometría efectiva de la abertura y por tanto cambia la distribución espacial del campo óptico transmitido. Debido a que la difracción depende de forma sensible de la forma y posición de la abertura con respecto al frente de onda incidente, incluso cambios geométricos relativamente pequeños pueden modificar significativamente la estructura de interferencia resultante. En este caso los haces difractados emergen con ángulos diferentes y el patrón de interferencia cambia en consecuencia.
Esto demuestra una característica clave de las simulaciones de óptica ondulatoria: los patrones de difracción están determinados enteramente por la geometría y la longitud de onda. Al modificar la disposición física de la estructura, puede explorar cómo la forma de la abertura, la separación de rendijas y la colocación de obstáculos afectan a la distribución del campo óptico resultante y a la potencia medida por detectores colocados dentro del dominio de simulación.
14. Adición de una lente usando el editor de malla
En las secciones anteriores exploramos cómo cambiar la geometría de la abertura cambia el patrón de difracción. En esta sección final vamos un paso más allá y demostramos cómo transformar un objeto simple en una malla más compleja usando el Mesh editor. Este es un flujo de trabajo potente en OghmaNano: puede comenzar con primitivas simples para construir intuición y luego introducir progresivamente componentes ópticos más realistas, como lentes, superficies curvas y mallas CAD importadas.
Primero, reoriente la vista del dispositivo para que coincida con ??. Luego haga clic con el botón derecho sobre el bloque central de la estructura de doble rendija y abra el Mesh editor. Esto abre el editor mostrado en ??. En el editor de malla, haga clic en el botón Lens e introduzca los parámetros exactamente como se muestra en ??.
Con estos valores puede generar un objeto con forma de lente. Si deja la lente en su orientación predeterminada aparecerá como una lente “plana” en la vista del dispositivo, como se muestra en ??. Para este tutorial no queremos la lente tumbada en el plano de simulación, porque el campo óptico no interactuará con ella de una manera significativa. La lente debe rotarse para que quede erguida e intercepte el frente de onda propagante.
15. Rotación de la lente y asignación de un material óptico
Para rotar el nuevo objeto lente, haga clic con el botón derecho sobre la lente y abra el Object editor. Esto abre el editor mostrado en ??. Establezca los ángulos de rotación en 90, 90 y 0 (x, y, z) exactamente como se muestra. Esto rota la lente para que quede erguida en la trayectoria de propagación y pueda interactuar fuertemente con el campo incidente.
Mientras está en el editor de objetos, haga la lente ópticamente transparente seleccionando el material óptico mostrado en la figura: inorganic/Si/Green-2008. Este es un perfil conveniente de índice de refracción de banda ancha para silicio, adecuado para demostrar comportamiento de refracción y enfoque. Con este material asignado, la lente se convierte en un verdadero objeto refractivo en lugar de ser simplemente un bloqueador geométrico.
Después de establecer la rotación y el material, la geometría debería verse como ??, donde la lente queda vertical en la región de simulación.
16. Ejecución de la simulación FDTD con la lente
Vuelva a ejecutar la simulación con la lente presente. Una instantánea representativa de densidad de potencia se muestra en ??. Puede ver claramente el frente de onda incidente interactuando con la superficie refractiva curva: parte del campo se transmite a través de la lente y se refracta, y parte se refleja de vuelta hacia la fuente.
El campo transmitido forma una región de estructura de frente de onda mucho más densa dentro y alrededor de la lente, y el campo saliente muestra evidencia de enfoque: la energía transmitida se concentra hacia una región más pequeña en lugar de seguir expandiéndose libremente como en el caso de abertura desnuda. Al mismo tiempo, la reflexión de la lente envía una fracción significativa de la potencia óptica de vuelta hacia la región de la abertura, lo que reduce la cantidad de potencia que llega a los detectores situados aguas abajo. Esto es exactamente lo que cabría esperar físicamente: un elemento refractivo introduce desajuste de impedancia en sus interfaces y, a menos que la lente tenga recubrimiento antirreflectante o esté adaptada en índice, la reflexión de Fresnel puede ser sustancial.
Este ejemplo ilustra por qué las herramientas de “transformación de malla” importan en simulaciones prácticas. Incluso los sistemas simples pasan rápidamente a estar dominados por superficies curvas y componentes ópticos diseñados. Poder convertir un bloque básico en una lente (o cualquier otro objeto de malla) le permite construir óptica directamente dentro del mismo flujo de trabajo usado para FDTD. El mismo enfoque puede utilizarse para crear y estudiar microlentes, concentradores, elementos ópticos difractivos, estructuras de conformación de frente de onda o geometrías CAD importadas para dispositivos realistas.