La DDA nace de una idea sencilla: cualquier objeto se puede pensar como una colección de puntos polarizables — dipolos — lo suficientemente juntos como para capturar la forma del objeto. Cada dipolo responde al campo incidente más el campo que producen todos los demás dipolos. El resultado es un sistema lineal que, una vez resuelto, te da los campos dispersados. El método fue propuesto por Purcell y Pennypacker en 1973 para calcular el scattering de polvo interestelar — y sigue siendo la herramienta estándar para nanopartículas de forma arbitraria.
La idea
Divide el objeto en celdas cúbicas. Cada celda se reemplaza por un dipolo puntual con polarizabilidad , calculada a partir del índice de refracción local usando la relación de Clausius-Mossotti:
donde es el volumen de la celda. El momento dipolar de cada punto es:
donde es el tensor de Green de espacio libre — el campo que produce un dipolo a distancia. En notación matricial:
Un sistema lineal de (tres componentes del dipolo por cada punto). La matriz es densa — cada dipolo interactúa con todos los demás.
El tensor de Green explícito
El tensor de Green de espacio libre para un dipolo en evaluado en es:
donde y es el vector unitario de a . Contiene tres regiones: campo lejano (, decae como ), campo intermedio (, decae como ) y campo cercano (constante, decae como ). Para dipolos muy juntos (), domina el campo cercano — la interacción dipolo-dipolo electrostática.
La polarizabilidad correcta
La fórmula de Clausius-Mossotti da la polarizabilidad «desnuda» . Pero en la práctica, el dipolo discreto también radia — y esa radiación modifica su respuesta efectiva. La corrección estándar es la LDR (Lattice Dispersion Relation) de Draine y Goodman (1993):
donde es el espaciado entre dipolos y es un coeficiente que depende de la dirección de propagación respecto a la rejilla. La corrección radiativa () garantiza que un dipolo aislado cumpla el teorema óptico. Sin esta corrección, DDA viola la conservación de energía.
Criterio de convergencia
¿Cuántos dipolos necesitas? La regla empírica es:
donde es el índice de refracción complejo del material y el espaciado entre dipolos. Para vidrio (), necesitas ~10 dipolos por longitud de onda. Para silicio (), necesitas ~25. Para metales con , necesitas ~60 — y ahí es donde DDA se vuelve caro.
Discretización
Explora cómo se discretiza un objeto en dipolos. Observa cómo el número de incógnitas (y el tamaño de la matriz) crece con la resolución:
El dipolo amarillo interactúa con todos los demás — cada línea es una entrada de la matriz . Con 100 dipolos, la matriz tiene 10.000 entradas. Con 1.000, tiene un millón. Esta es la principal limitación de DDA: la memoria y el coste de resolver un sistema denso.
Ventajas y limitaciones
- Solo el objeto: a diferencia de FDTD, DDA no discretiza el espacio vacío — solo el objeto. Para una nanopartícula en espacio abierto, eso es una ventaja enorme. Las condiciones de radiación al infinito están incorporadas en el tensor de Green.
- Geometría flexible: cualquier forma se rellena con dipolos. No hace falta generar mallas — solo decidir qué celdas están dentro del objeto. Agregados, formas irregulares, partículas con inclusiones: todo cabe.
- FFT para acelerar: si los dipolos están en una rejilla regular, la multiplicación matriz-vector se puede hacer con FFT en en lugar de . Esto permite usar solucionadores iterativos sin almacenar la matriz completa.
- Limitación principal: la resolución necesaria crece con el índice de refracción (). Para metales con , el número de dipolos se dispara.
DDA en la práctica
El software de referencia es DDSCAT (Draine & Flatau), open-source y ampliamente validado. Otros: ADDA (paralelizado con MPI, escala a miles de millones de dipolos), OpenDDA. Todos usan FFT para la aceleración y GMRES o BiCGSTAB como solucionador iterativo.
Un test estándar para validar DDA: calcular el scattering de una esfera y comparar con la solución exacta de Mie. Con la corrección LDR y , el error en es típicamente < 1%.
DDA es el método de elección para nanopartículas de forma arbitraria en espacio abierto — polvo cósmico, agregados coloidales, nanoantenas. Para geometrías que necesitan mallas adaptativas o formulaciones variacionales, el siguiente método — FEM — es más apropiado.
Ejercicios
Quieres modelar un nanocubo de oro de 50 nm de lado a nm. El índice complejo del oro a esa longitud de onda es , así que . Usando el criterio , ¿cuál es el espaciado máximo entre dipolos? ¿Cuántos dipolos necesitas en total?
Solución
nm⁻¹. De : nm.
Con nm (conservador): dipolos por lado, dipolos totales. La matriz es — trivial. Con nm (alta resolución): dipolos, matriz — necesitas FFT e iterativos.
La visualización de arriba muestra un dipolo amarillo conectado a todos los demás. Si la partícula tiene dipolos y cada interacción es un tensor , ¿cuántas entradas tiene la matriz del sistema completo? Si cada entrada es un número complejo en doble precisión (16 bytes), ¿cuánta memoria necesitas para y ?
Solución
La matriz es entradas complejas.
Para : GB. Almacenable, pero al límite.
Para : TB. Imposible almacenar. Es imprescindible usar FFT (no formas la matriz; solo haces multiplicaciones matriz-vector en ) con un solucionador iterativo.