FDTD es intuitivo y broadband, pero su rejilla cartesiana escalonea las curvas. FEM tiene mallas elegantes que siguen la geometría, pero trabaja en dominio frecuencial — una simulación por frecuencia. ¿Y si pudieras tener ambas cosas? Mallas triangulares adaptativas Y evolución temporal. Eso es DGTD.
El problema del escalonado
En el artículo 04 vimos FDTD corriendo en tiempo real. Funciona, pero tiene un problema fundamental: la rejilla de Yee es cartesiana. Cuando el objeto tiene curvas — un cilindro, una esfera, un resonador de anillo — la rejilla lo aproxima con escalones. Eso introduce errores de fase que limitan la precisión a segundo orden, por mucho que refines la rejilla.
Para un resonador óptico de alto , esos errores de fase son fatales. La frecuencia de resonancia converge lentamente, y el factor de calidad puede estar mal por órdenes de magnitud incluso con rejillas finas (Niegemann et al., J. Opt. A, 2009).
Compara las dos aproximaciones del mismo cilindro:
A la izquierda, FDTD: la línea roja punteada es el contorno real. Los bloques azules son las celdas que la rejilla clasifica como «dentro del cilindro». Las escaleras son inevitables. A la derecha, DGTD: los triángulos se adaptan al contorno y lo siguen sin escalones. Aumenta la resolución y verás cómo el FDTD sigue escalonando mientras el DGTD refina suavemente.
¿Cómo funciona?
DGTD toma prestado de tres tradiciones:
- De FEM: mallas no estructuradas (triángulos en 2D, tetraedros en 3D) con funciones base polinómicas de orden en cada elemento.
- De FDTD: evolución temporal explícita (típicamente Runge-Kutta de orden 4). No hay sistemas lineales grandes que resolver en cada paso de tiempo.
- De volúmenes finitos: el acoplamiento entre elementos vecinos se maneja mediante flujos numéricos en las interfaces. Como las funciones base son locales a cada elemento (de ahí «discontinuas»), los campos pueden ser diferentes a cada lado de una interfaz — la información se intercambia solo a través del flujo.
Matemáticamente, en cada elemento se proyectan las ecuaciones de Maxwell sobre funciones test locales :
donde es el vector de estado y es el flujo de Maxwell. La clave: esta ecuación es completamente local — solo involucra campos dentro del elemento. El acoplamiento con los vecinos entra como un término de flujo en la frontera del elemento, que reemplaza por un flujo numérico (típicamente upwind) evaluado en las caras compartidas.
¿Por qué «discontinuo»?
En FEM convencional, las funciones base son continuas entre elementos — los campos se comparten en los nodos. Esto crea un sistema de ecuaciones global (matriz dispersa grande) que hay que resolver.
En DG, las funciones base son locales a cada elemento. Los campos pueden saltar en la frontera entre elementos — de ahí «discontinuo». Esto hace que la matriz de masas sea bloque-diagonal (un bloque por elemento), trivialmente invertible. El resultado: stepping temporal explícito sin resolver sistemas lineales grandes.
El precio: necesitas un mecanismo de acoplamiento (el flujo numérico) para que la información pase de un elemento a otro. Pero ese flujo es local — solo involucra los dos elementos que comparten la cara.
Convergencia exponencial
La ventaja más espectacular de DGTD sobre FDTD es la convergencia. FDTD converge como — segundo orden. Duplicar la resolución (y multiplicar el coste por 16 en 3D) solo gana un factor 4 en precisión.
DGTD con polinomios de orden converge como — y para problemas suaves, la convergencia es exponencial en . Esto significa que subir el orden polinómico de 3 a 4 puede mejorar la precisión más que duplicar la malla.
El paper de Niegemann et al. (2009) lo demuestra con un resonador cilíndrico: FDTD necesita ~128 celdas/radio para bajar el error en al 1%. DGTD con orden lo consigue con ~8 elementos/radio — usando una fracción de la memoria.
CFL en mallas no estructuradas
DGTD, como FDTD, es un método explícito — y tiene su propia condición CFL. Pero en mallas no estructuradas, la condición es más restrictiva:
donde es el tamaño del elemento más pequeño, el orden polinómico, y una constante que depende de la geometría del elemento. El factor es el precio de la convergencia de alto orden: a mayor , paso temporal más pequeño.
El problema: si la malla tiene unos pocos elementos muy pequeños (cerca de una punta o una rendija), esos elementos dictan el paso temporal de toda la simulación. La solución es el local time stepping (LTS): cada elemento avanza con su propio , proporcional a su tamaño. Los elementos grandes dan pasos más largos; los pequeños, más cortos. Esto puede acelerar la simulación 10–100× en problemas con mallas muy heterogéneas.
¿Cuándo usar DGTD?
- Resonadores de alto Q: microdiscos, anillos, cavidades fotónicas. FDTD no puede capturar Q > 10⁴ de forma fiable; DGTD sí.
- Geometrías curvas: nanopartículas esféricas o elipsoidales, guías de onda curvas, lentes. DGTD las discretiza sin escaleras.
- Problemas multiscala: la malla puede ser gruesa en el vacío y ultra-fina cerca de puntas, rendijas o interfaces. La adaptatividad h-p (refinar malla Y subir orden) es natural.
- Broadband: como FDTD, un pulso corto te da todo el espectro. Pero con mejor precisión.
El precio: DGTD es más complejo de implementar que FDTD (generación de malla, funciones base de alto orden, flujos numéricos). Pero las implementaciones open-source (la librería de Hesthaven & Warburton, Nodal DG; el código del grupo de Busch, BEAST) y los solvers comerciales lo han democratizado.
DGTD en la práctica
El grupo de Kurt Busch (Humboldt-Universität zu Berlin) ha sido pionero en aplicar DGTD a nanofotónica. Sus trabajos demuestran ventajas claras en:
- Resonadores de cristal fotónico: cavidades con , donde FDTD no puede converger (Busch et al., Laser & Photonics Reviews, 2011).
- Plasmónica: nanotriángulos, bow-ties, nanoantenas con puntas afiladas. La malla refina en la punta sin penalizar el paso temporal global (con LTS).
- Metamateriales: celdas unitarias con geometrías complejas (split-ring resonators, fish-nets) donde las escalas van de 10 nm a varios μm.
El paisaje completo
Con DGTD cerramos un panorama que cubre todas las necesidades de la simulación en fotónica:
- TMM: 1D, instantáneo — capas planas.
- Mie/Rayleigh: analítico — esferas y partículas pequeñas.
- FDTD: tiempo, rejilla cartesiana — rápido, intuitivo.
- DDA: dipolos en espacio abierto — nanopartículas arbitrarias.
- FEM: frecuencia, mallas adaptativas — cavidades y guías.
- BEM: superficie, espacio abierto — plasmónica, campos cercanos.
- DGTD: tiempo + mallas adaptativas — resonadores de alto Q, multiscala.
No hay un método universal. Pero con estos siete (+1), tienes las herramientas para atacar prácticamente cualquier problema de nanofotónica. El arte — como siempre — está en elegir el correcto.
Ejercicios
Un resonador de microdisco tiene un factor de calidad . Eso significa que la luz da vueltas dentro del disco antes de disiparse. Si el disco tiene radio μm y opera a μm, ¿cuántos periodos ópticos dura la simulación temporal? ¿Y cuántos pasos de tiempo si (donde es el periodo óptico)?
Solución
Periodo óptico: fs. Tiempo de vida del fotón en el resonador: fs = 83 ps.
Periodos ópticos: . Pasos de tiempo: . Con FDTD (rejilla fina para reducir staircasing) cada paso es caro. Con DGTD (malla gruesa + alto orden), cada paso cuesta menos y la convergencia es mejor. Pero 320.000 pasos son 320.000 pasos — por eso los resonadores de alto Q son un desafío computacional incluso con DGTD.
Compara los costes de convergencia. FDTD tiene error ; DGTD con orden tiene error . Si quieres reducir el error por un factor 100 (dos órdenes de magnitud):
- Con FDTD, ¿por cuánto necesitas reducir ? ¿Cuánto sube el coste en 3D?
- Con DGTD a , ¿por cuánto necesitas reducir ? ¿Cuánto sube el coste?
Solución
FDTD: error . Reducir 100×: . Coste 3D: más ( celdas × pasos por CFL).
DGTD p=3: error . Reducir 100×: . Coste 3D: más.
10.000× vs 100× — dos órdenes de magnitud de diferencia. Esto explica por qué DGTD es indispensable para problemas que requieren alta precisión: resonadores de alto Q, propagación larga, o geometrías con features sub-λ.