226
IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS PARA EL ANÁLISIS ELECTROMAGNÉTICO DE MEDIOS PERIÓDICOS: APLICACIÓN EN LONGITUDES DE ONDA ÓPTICAS Y OPTIMIZACIÓN COMPUTACIONAL Jorge Francés Monllor

IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

  • Upload
    dotuyen

  • View
    225

  • Download
    2

Embed Size (px)

Citation preview

Page 1: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS PARA EL ANÁLISIS ELECTROMAGNÉTICO DE MEDIOS PERIÓDICOS: APLICACIÓN EN LONGITUDES DE ONDA ÓPTICAS Y OPTIMIZACIÓN COMPUTACIONAL

Jorge Francés Monllor

Page 2: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

TESIS DOCTORAL

IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS PARA ELANÁLISIS ELECTROMAGNÉTICO DE MEDIOS PERIÓDICOS:

APLICACIÓN EN LONGITUDES DE ONDA ÓPTICAS YOPTIMIZACIÓN COMPUTACIONAL

Jorge Francés Monllor

Directores:Cristian Neipp LópezAndrés Márquez Ruiz

Alicante, Julio 2011

Dept. de Física, Enginyería de Sistemes i Teoria del SenyalDpto. de Física, Ingeniería de Sistemas y Teoría de la Señal

Page 3: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS PARA ELANÁLISIS ELECTROMAGNÉTICO DE MEDIOS PERIÓDICOS:

APLICACIÓN EN LONGITUDES DE ONDA ÓPTICAS YOPTIMIZACIÓN COMPUTACIONAL

TESIS DOCTORAL

Jorge Francés Monllor

Alicante, 22 de julio de 2011

Page 4: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes
Page 5: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

CRISTIAN NEIPP LÓPEZ, Titular de Universidad, y ANDRÉS MÁRQUEZRUIZ, Titular de Universidad, del Departamento de Física, Ingeniería de Sis-temas y Teoría de la Señal de la Universidad de Alicante,

CERTIFICAN : Que la presente memoria titulada “Implementación demétodos numéricos para el análisis electromagnético demedios periódicos: aplicación en longitudes de onda óp-ticas y optimización computacional′′ ha sido realizada

bajo su dirección por Don JORGE FRANCÉSMONLLOR en el Departamento de Física, Ingenieríade Sistemas y Teoría de la Señal de la Universidad deAlicante, y constituye su Tesis Doctoral para optar alGrado de Doctor.

Y para que conste, y en cumplimiento de la legislación vigente, firman el pre-sente certificado en Alicante a veintidós de julio de dos mil once.

Fdo.: Cristian Neipp López Fdo.: Andrés Márquez Ruiz Fdo.: Jorge Francés Monllor

Page 6: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes
Page 7: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

A mi familiay amigos

Page 8: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes
Page 9: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Agradecimientos

Quisiera expresar mi gratitud a los profesores Cristian Neipp y Andrés Márquez,directores de esta Tesis Doctoral, por los esfuerzos que ambos han realizado para quepueda completar este trabajo. En particular, agradecer a Cristian Neipp su apoyoy confianza, así como por transmitirme en todo momento ánimos y entusiasmo, loscuales me han motivado para trabajar más y mejor, día tras día. En él he encontradouna referencia a nivel científico junto a una gran amistad, las cuales valoro profun-damente. Agradecer a Andrés Márquez su confianza, su trato cercano y cordial asícomo la seguridad que me ha transmitido en todo momento a través de sus palabrasy consejos.

También quiero aprovechar esta oportunidad para agradecer al profesor AugustoBeléndez su constante preocupación en proporcionarme todos los medios tanto hu-manos como materiales para poder realizar este trabajo. Su confianza y apoyo sonun honor para mí. Agradecer al profesor Jenaro Vera el haber apostado por mí haceya varios años en que volviera a la Universidad de Alicante y sobre todo por hacermesentir como en mi casa. Del mismo modo, agradecer a los miembros del Grupo deHolografía y Procesado Óptico de la Universidad de Alicante su calurosa acogida,así como el soporte proporcionado a lo largo de este trabajo.

Destacar mi gratitud a Sergio Bleda, el cual ha colaborado de manera activa eneste trabajo en todas sus etapas. Su experiencia, conocimiento y rigurosidad me hanayudado mucho más de lo que él cree. No puedo olvidarme de todo el Departamentode Física, Ingeniería de Sistemas y Teoría de la Señal, por su ayuda y colaboracióntanto a la hora de realizar esta Tesis Doctoral como en la realización de actividadesdocentes. Me siento muy afortunado de pertenecer a este Departamento y de haberconocido a una gran cantidad de compañeros con unas increíbles cualidades humanas.Todos ellos, de una manera más o menos indirecta han colaborado en la realización deeste trabajo. En primer lugar quiero destacar a los profesores: Eva Calzado, SantiagoHeredia, Sergi Gallego, Manuel Ortuño, David Méndez, Mariela Álvarez, CarolinaPascual, Adolfo Albaladejo, Juan De Dios González, Jaime Ramis, Stephan Marini,

Page 10: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Igor Vragovic, Antonio Hidalgo, Julio Rosa, Encarna Gimeno, Marisol Yebra, ManuelPérez Molina, Juanjo Galiana, Antonio Hernández, y muchos más que seguro norecuerdo en estos momentos, pero que quiero recoger en un “Gracias a todos”. Yen segundo lugar y no por ello menos importante, al Personal de Administración yServicios, los cuales se encuentran entre las personas más eficientes que he conocido:Josep García, Begoña Ceballos, Alicia Boix, Alberto Seva y Antonio Barreres.

Tengo que agradecer a Víctor, Fernando, Jesús, Pablo, Boyan y a Juan ManuelSáez, sus divertidas charlas en las comidas y café, las cuales amenizan las largasjornadas de trabajo, y sobre todo por sus consejos, ayuda y en definitiva por suamistad.

No quiero olvidar mencionar a unas figuras que significan mucho para mí. Enprimer lugar dar las gracias a mi padrino José Hurtado, por sus consejos y su cariño.A Rosa y Rafa por haber ayudado a mi madre desde que yo era prácticamente unniño, y ayudarme ahora a mí como si de un hijo suyo se tratara. Mi gratitud haciatodos ellos es enorme y espero corresponderles y estar a la altura de las circunstancias.

A Paula tengo que agradecerle ser una compañera excepcional, cuya paciencia,comprensión y sacrificio son fuera de serie. Gracias de corazón.

Finalmente, quisiera agradecer a toda mi familia, tanto los que están como losque ya se han ido, el esfuerzo y el sacrificio que han realizado para proporcionarmelos medios necesarios para cumplir mis metas. A mis hermanas, por ser las mejoreshermanas que jamás podría haber tenido. A mi cuñado Jose, por ser más que un her-mano para mí y haber contribuido a darme una sobrina preciosa. A mi Tío y Amina,por su cariño y por estar siempre ahí. A mi madre, por su sacrificio, su comprensióny sobretodo por ser un ejemplo de superación y de coraje. Y a mi abuela y abuelo,por su sabiduría y por ser responsables en gran medida de la persona que soy hoy endía.

Jorge Francés Monllor

6 de Junio de 2011

Page 11: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Índice general

Acrónimos xvii

Lista de Símbolos xix

1. Introducción 1

1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3. Contenido y organización . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4. Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2. Teoría diferencial clásica en medios periódicos 21

2.1. Teoría de ondas acopladas . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2. Teoría rigurosa de ondas acopladas . . . . . . . . . . . . . . . . . . . 28

2.3. Método matricial basado en las funciones de Mathieu . . . . . . . . . 33

2.3.1. Formación de la matriz . . . . . . . . . . . . . . . . . . . . . 34

2.3.2. Solución en términos de las funciones de Mathieu . . . . . . . 35

2.3.3. Condiciones de contorno . . . . . . . . . . . . . . . . . . . . . 37

Page 12: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ii ÍNDICE GENERAL

2.3.4. Estructura de bandas . . . . . . . . . . . . . . . . . . . . . . 37

2.4. Teoría del medio equivalente . . . . . . . . . . . . . . . . . . . . . . . 39

2.4.1. Matriz característica . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.2. Extensión a medios estratificados . . . . . . . . . . . . . . . . 43

2.4.3. Aplicación a redes de difracción holográficas en reflexión . . . 45

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3. Método de las Diferencias Finitas en el Dominio del Tiempo 51

3.1. Formulación FDTD para el caso 1-D . . . . . . . . . . . . . . . . . . 51

3.1.1. Condición de estabilidad . . . . . . . . . . . . . . . . . . . . . 54

3.1.2. Inserción de ondas incidentes . . . . . . . . . . . . . . . . . . 55

3.1.3. Condiciones de frontera para una dimensión . . . . . . . . . . 56

3.1.4. Propagación en medios dieléctricos . . . . . . . . . . . . . . . 57

3.2. Formulación FDTD para el caso 2-D . . . . . . . . . . . . . . . . . . 60

3.2.1. Dispersión numérica . . . . . . . . . . . . . . . . . . . . . . . 62

3.2.2. Condiciones de frontera para el caso bidimensional . . . . . . 65

3.2.3. Formulación de campo total y campo dispersado . . . . . . . 69

3.2.4. Transformación de campo cercano a lejano en dos dimensiones 76

3.3. Formulación FDTD para el caso 3-D . . . . . . . . . . . . . . . . . . 83

3.3.1. Generalización de las condiciones de frontera a tres dimensiones 84

3.3.2. Formulación campo total y campo dispersado en tres dimensiones 86

3.3.3. Transformación de campo cercano a campo lejano . . . . . . . 87

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Page 13: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ÍNDICE GENERAL iii

4. Optimización computacional 97

4.1. Optimización del método de las DFDT en microprocesadores . . . . 98

4.1.1. Introducción a la arquitectura de los microprocesadores . . . 98

4.1.2. Vectorización del método de las DFDT . . . . . . . . . . . . . 104

4.1.3. Paralelización del método de las DFDT mediante OpenMP . 106

4.2. Optimización del método de las DFDT en unidades de procesado gráfico115

4.2.1. Historia de los procesadores gráficos . . . . . . . . . . . . . . 115

4.2.2. Introducción a la arquitectura de los procesadores gráficos . . 117

4.2.3. Modelo de programación . . . . . . . . . . . . . . . . . . . . . 121

4.2.4. Implementación del método de las DFDT preliminar medianteCUDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

4.2.5. Implementación del método de las DFDT en CUDA para elanálisis de medios infinitos . . . . . . . . . . . . . . . . . . . . 135

4.2.6. Implementación del método de las DFDT en CUDA para elanálisis de medios infinitos y ondas planas . . . . . . . . . . . 138

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5. Resultados 145

5.1. Difración de aperturas . . . . . . . . . . . . . . . . . . . . . . . . . . 146

5.2. Filtros de capa delgada . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.3. Redes de difracción holográficas de volumen . . . . . . . . . . . . . . 164

5.3.1. Redes de difracción holográficas de transmisión . . . . . . . . 164

5.3.2. Redes de difracción holográficas de reflexión . . . . . . . . . . 171

5.4. Optimización computacional . . . . . . . . . . . . . . . . . . . . . . . 177

Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Page 14: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

iv ÍNDICE GENERAL

6. Conclusiones 189

Page 15: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Índice de figuras

1.1. Evolución temporal del rendimiento de los UPG y UPC [31]. . . . . . 9

2.1. Esquema de una red de difracción holográfica, donde con escala degris se ha representado la variación de la permitividad relativa. . . . 22

2.2. Esquema y diagrama vectorial asociado para una red de difracción detransmisión (izquierda) y de reflexión (derecha). . . . . . . . . . . . . 25

2.3. Selectividad angular y de longitud de onda para redes holográficas detransmisión a partir del rendimiento en difracción η en función delparámetro χ, el cual mide la desviación respecto al ángulo de Bragg.Se han considerado tres valores para el parámetro ν [1]. . . . . . . . 27

2.4. Selectividad angular y de longitud de onda para redes holográficasde reflexión a partir del rendimiento en difracción η en función delparámetro χ, el cual mide la desviación respecto al ángulo de Bragg.Se han considerado tres valores para el parámetro ν [1]. . . . . . . . 28

2.5. Geometría de una red de difracción holográfica que contempla los di-ferentes órdenes difractados y transmitidos [5]. . . . . . . . . . . . . 29

2.6. Funciones de Mathieu Cm y Sm para q = 1, en función del parámetroa definido por la ecuación (2.73). (a) Funciones par. (b) Funcionesimpar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.7. Parte real de φ y de la reflectancia en función del ángulo de incidencia.Parámetros de la red: ∆ = 0,2 µm, d = 15 µm, ∆n = 0,025 y λ = 633. 40

2.8. Esquema ilustrativo donde se representa la incidencia de una ondaplana sobre una capa delgada. . . . . . . . . . . . . . . . . . . . . . . 41

Page 16: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

vi ÍNDICE DE FIGURAS

2.9. Notación para el caso de dos capas dieléctricas. . . . . . . . . . . . . 44

2.10. Ejemplo de aplicación del método de la matriz característica sobrevarios casos prácticos: (a) Rendimiento teórico para dos láminas anti-reflectantes. El sistema de 2 capas está compuesto por las siguientesláminas de un cuarto de longitud de onda: n1 = 1,587, n2 = 2,52;mientras que para el caso de 3 capas: n1 = 1,587, n2 = 2,0 y n3 =2,52. En ambos casos el substrato presenta un índice de refracciónde ns = 4 [14]. (b) Cálculo de la reflectancia para varios ángulos deincidencia para un sistema compuesto por una capa con índice n =2,2 sobre un substrato con n = 4,0. . . . . . . . . . . . . . . . . . . . 46

2.11. Variación del índice de refracción en una red de reflexión en funcióndel eje z, el cual es normal al plano de incidencia de la red. Mediantecírculos se representan los valores discretizados de la red para el casode aproximar el patrón de interferencia mediante un conjunto de capasdelgadas de longitud Λ/4. . . . . . . . . . . . . . . . . . . . . . . . . 47

3.1. Entrelazado de las componentes Ez y Hy en el espacio y en el tiempo 53

3.2. Simulación de un pulso introducido en la celda 50 propagándose hacialos extremos (n = 150). (a) Campo eléctrico. (b) Campo magnético. . 53

3.3. Simulación de un pulso propagándose en espacio libre para T = 250.Para este instante de tiempo, el pulso ya ha llegado al extremo delmallado y vuelve debido a la reflexión. . . . . . . . . . . . . . . . . . 56

3.4. Propagación del pulso en espacio libre con ABC en los extremos. a)t = 150∆t. b) t = 190∆t. c) t = 210∆t . . . . . . . . . . . . . . . . . 57

3.5. Propagación del pulso que incide en un medio dieléctrico. El plano decomienzo del medio dieléctrico está situado a 50 celdas del plano deexcitación en is = 20∆x. a) t = 150∆t. b) t = 220∆t. c) t = 280∆t . 59

3.6. Celda de Yee para la formulación TE en el caso bidimensional. . . . 60

3.7. Simulación de un pulso propagándose en un mallado bidimensional.a) t = 20∆t. b) t = 50∆t. . . . . . . . . . . . . . . . . . . . . . . . . 62

3.8. Variación de la velocidad de fase numérica en función del ángulo deincidencia en un mallado 2D para resoluciones de celda de λ/5, λ/10y λ/20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 17: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ÍNDICE DE FIGURAS vii

3.9. Esquema de un mallado bidimensional con PMLs. . . . . . . . . . . . 66

3.10. Ejemplo del efecto de las PMLs con un pulso propagándose hacia losextremos de la red para el caso bidimensional. a) t = 60∆t. b) t = 75∆t 69

3.11. Esquema del problema bidimensional con la formulación CT-CD yPMLs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.12. Componentes del campo con polarización TE donde se aprecian lasinterfases entre la región de campo total y campo dispersado . . . . . 72

3.13. Simulación de una onda plana propagándose a lo largo del espaciolibre.a) t = 60∆t b) t = 80∆t c) t = 95∆t. d) t = 100∆t . . . . . . . 73

3.14. Diagrama del cálculo del campo incidente en la interfase entre regionesa partir del vector de campo incidente . . . . . . . . . . . . . . . . . 74

3.15. Simulación de una onda plana propagándose a lo largo del espaciolibre con φ=30o .a) t = 80∆t b) t = 90∆t c) t = 100∆t. d) t = 110∆t. 77

3.16. Esquema de la transformación de campo cercano a lejano. . . . . . . 78

3.17. Validación de la transformación de campo cercano a lejano . a) Diagra-ma de la simulación para validar la transformación de campo cercanoa lejano. Se muestra la posición de los tres puntos donde se calculanlos campos mediante el método de las DFDT y mediante la trans-formación de campo cercano a lejano a partir de los campos en laapertura. b) Campo Ez para el punto 1. c) Campo Ez para el punto2. d) Campo Ez para el punto 1 . . . . . . . . . . . . . . . . . . . . . 82

3.18. Celda de Yee para el caso tridimensional . . . . . . . . . . . . . . . . 84

3.19. Diagrama de flujo del algoritmo leapfrog. . . . . . . . . . . . . . . . . 85

3.20. Simulación de un pulso propagándose en el vacío con condiciones defrontera de Berenger (NPML=10). a) t = 65∆t.b) t = 100∆t.c) t =125∆t. d) t = 160∆t. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

3.21. Esquema tridimensional de las regiones de campo total y campo dis-persado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.22. Representación del campo eléctrico en z (Ez(V/m)) para diferentesinstantes de tiempo. a) t = 75∆t.b) t = 100∆t.c) t = 110∆t. d)t = 125∆t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 18: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

viii ÍNDICE DE FIGURAS

3.23. Capturas de la simulación del pulso propagándose e incidiendo en laranura. a)t = 80∆t. b) t = 100∆. c) t = 120.∆t. d)t = 180.∆t . . . . 91

3.24. Validación de la transformación de campo cercano a lejano en tres di-mensiones. a) Diagrama de la simulación para validar la transforma-ción de campo cercano a lejano. Se muestra la posición de los tres pun-tos donde se calculan los campos mediante las dos vías. A la derecha,se muestran las formas de onda del campo eléctrico Ez. b) Punto 1.c) Punto 2. d) Punto 3. . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.1. Arquitectura de procesador IntelTM Core. . . . . . . . . . . . . . . . 98

4.2. Ejemplo de una operación de suma mediante SISD (a) y SIMD (b). . 101

4.3. Diagrama de bloques de la conversión de un código secuencial a unovectorial mediante el uso de instrucciones SIMD . . . . . . . . . . . . 102

4.4. Ejemplo de paralelización automática de un bucle. (a) Implementaciónnormal en C de un bucle for de 4 iteraciones. (b) Implementaciónmediante directivas de ensamblador con uso de instrucciones SSE. (c)Implementación mediante el uso de funciones intrínsecas. . . . . . . . 104

4.5. Comparativa entre el código secuencial y vectorial de la actualizacióndel vector desplazamiento en la componente z. . . . . . . . . . . . . . 107

4.6. Esquema ilustrativo que muestra las diferencias entre la aproximaciónde memeoria distribuida (a) y memoria compartida (b). . . . . . . . 108

4.7. Modelo de programción OpenMP . . . . . . . . . . . . . . . . . . . . 108

4.8. Ejemplo paralelización de un código secuencial mediante directivasOpenMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

4.9. Esquema ilustrativo de la paralelización mediante OpenMP y la vec-torización mediante el uso de las instrucciones SSE en la actualizacióndel desplazamiento eléctrico en z para el método de las DFDT. . . . 111

4.10. Código que implementa la ecuación (3.37) para las versiones secuen-cial y optimizada mediante vectorización con los registros SSE y par-alelizada con OpenMP. . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4.11. Organización de los hilos en CUDA. . . . . . . . . . . . . . . . . . . 117

Page 19: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ÍNDICE DE FIGURAS ix

4.12. Arquitectura Fermi. . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

4.13. Estructura de un multiprocesador en la arquitectura FermiTM . . . . . 120

4.14. Ejecución de un programa CUDA . . . . . . . . . . . . . . . . . . . . 122

4.15. Ejemplo de una suma de vectores en CUDA, a la derecha se muestrala organización de los hilos y el kernel que ejecutan cada uno de ellos. 123

4.16. (a) Patrón de acceso coalescente. (b) Patrón de acceso no coalescente. 128

4.17. (a) Esquema de los kernels invocados para el cálculo del campo elec-tromagnético en dos dimensiones mediante CUDA. (b) Estructura decada uno de los bloques de la malla. . . . . . . . . . . . . . . . . . . 131

4.18. Cálculo de las componentes del campo a partir de la estructura debloque propuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

4.19. Esquema de los kernels invocados para el cálculo del campo electro-magnético en dos dimensiones mediante CUDA incluyendo las CAP. 136

4.20. Esquema de los kernels invocados para el cálculo del campo eléctricoen dos dimensiones mediante CUDA incluyendo las PMLs y la formu-lación de CT-CD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

4.21. Estrategía utilizada para evitar accesos no coalescentes en la evalu-ación de las connecting conditions. . . . . . . . . . . . . . . . . . . . 140

4.22. Esquema de los kernels invocados para el cálculo del campo magnéticoen dos dimensiones mediante CUDA incluyendo las PMLs y la formu-lación de CT-CD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.1. Esquema de una fuente lineal coeherente. . . . . . . . . . . . . . . . 147

5.2. Esquema de una apertura. . . . . . . . . . . . . . . . . . . . . . . . . 147

5.3. Patrón de difracción obtenido para la simulación de una rendija com-parado con el modelo teórico de Fraunhofer. Para ambos casos ∆ =63,3 nm, d = 50∆ = 3,17µm, λ = 633 nm. a) b = 50∆ = 3,17µ m.b)b = 80∆x = 5,1µ m. . . . . . . . . . . . . . . . . . . . . . . . . . . 150

Page 20: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

x ÍNDICE DE FIGURAS

5.4. Configuración del sistema para la simulación y análisis de difracciónprovocado por dos rendijas. a) Esquema tridimensional. b) Esquemabidimensional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.5. Patrón de difracción obtenido para la simulación de dos rendijas com-parado con el modelo teórico de Fraunhofer (d = 50∆ = 3,17µm, λ= 633 nm, ∆ = 63,3 nm). a) b = 50∆ = 3,17µ, a = 70∆ = 4,43µm.b)b = 50∆ = 3,17µ m, a = 100∆ = 0,633µm. . . . . . . . . . . . . . 153

5.6. Irradiancias normalizadas obtenidas por las expresiones teóricas en laregión de Fresnel y Fraunhofer y numéricas a partir del método de lasDFDT. Se ha estudiado el caso de una única apertura en función dela distancia entre el plano de iluminación y de medida: casos (a), (c)and (e). Y para dos aperturas: casos (b), (d) and (f). . . . . . . . . . 154

5.7. Secuencias de la propagación del campo eléctrico en función del tiempopara una apertura: (a) t = 50∆t, (c) t = 150∆t, (e) t = 250∆t, (g) t= 350∆t con b=40 celdas. Para dos aperturas: (b) t = 50∆t, (d) t =150∆t, (f) t = 250∆t, (h) t = 350∆t con b = 40 celdas y a = 80 celdas.155

5.8. Patrón de difracción obtenido para la simulación N aperturas com-parado con las curvas teóricas en la región de Fraunhofer (a = 50∆x =3,17µm, λ = 633 nm, ∆ = 63,3 nm). a) Curva teórica para 5 aperturasy patrón de irradancia obtenido a partir del método de las DFDT tantopara 2D y 3D, los parámetros de la simulación son: b = 50∆x = 3,17µ(únicamente en 3D), d = 70∆x = 4,43µm. b) Curva teórica para 7aperturas y patrón de irradiancia obtenido a partir de las DFDT tantopara 2D y 3D, los parámetros de la simulación son: b = 50∆x = 3,17µm, d = 70∆ = 4,43µm. . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.9. Distribución del campo eléctrico (y=4000∆) generado por la pertur-bación de la luz sobre 5 aperturas.(a) Irradiancia normalizada. (b) I enfunción del tiempo y del espacio obtenido a partir de la transformaciónde campo cercano a lejano . . . . . . . . . . . . . . . . . . . . . . . . 157

5.10. Configuración del sistema para la simulación y análisis de difracciónprovocado por una apertura . . . . . . . . . . . . . . . . . . . . . . . 158

Page 21: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ÍNDICE DE FIGURAS xi

5.11. Patrón de difracción obtenido para la simulación aperturas circularescon diferentes radios comparado con las curvas teóricas en la región deFraunhofer (λ = 633 nm, ∆x = 63,3 nm). a) Curva teórica para aper-tura circular de radio 30∆x(1.9µm) y patrón de irradancia obtenidoa partir del método de las DFDT en 3D. b) Curva teórica para aper-tura circular de radio 45∆x(1.9µm) y patrón de irradiancia obtenidoa partir del método de las DFDT en 3D. . . . . . . . . . . . . . . . . 159

5.12. Reflectancia R para incidencia normal en capas de dieléctrico de longi-tud óptica λ0/4 y alternancia de índices de refracción alto (nA = 2,3)y bajo (nB = 1,38) en susbstrato transparente (ns = 1,52) en funcióndel parámetro λ0/λ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5.13. En cada una de las gráficas se ilustra el módulo del campo eléctri-co y arriba el pérfil del índice de refracción, para láminas de altareflectancia en función de la relación λ0/λ. En las gráficas (a), (c)y (e) se ilustra una lámina compuesta por tres capas para los casosλ0/λ = 0,2, λ0/λ = 0,6 y λ0/λ = 1 respectivamente. En las gráficas(b), (d), (f) se muestra el caso para 7 capas para los casos λ0/λ = 0,2,λ0/λ = 0,6 y λ0/λ = 1 respectivamente. . . . . . . . . . . . . . . . . 163

5.14. Esquema de los ángulos involucrados en una red de difracción de vol-umen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

5.15. Esquema de la simulación de la red de difracción de volumen. . . . . 166

5.16. Distribución del módulo del campo eléctrico en función del espaciopara diferentes pasos temporales en una simulación de una red dedifracción holográfica de transmisión con parámetros d = 6µm, Λ =0, 83µm, n0 = 1, 63, ∆n = 0,025, θI = 22,64o. Parámetros FDTD:nf = 3196, nc = 2500, λ = 633 nm, ∆ = λ/40, ∆t = ∆/(2c0). (a)t = 2500 ·∆t. (b)t = 4000 ·∆t. (c) t = 5000 ·∆t. (d) t = 7500 ·∆t. . 167

5.17. Distribución del campo final para el mismo caso ilustrado en la Figu-ra 5.16, donde se visualiza la zona central de interferencia entre el haztransmitido y el difractado. . . . . . . . . . . . . . . . . . . . . . . . 168

5.18. Distribución de la irradiancia ∝ |Ez|2 en campo lejano (y=4000∆y)calculado a partir del campo a la salida de la red de difracción con n0

= 1.63, ∆n = 0,025, ∆ = 0,63 nm. Simulación 3D. a) d = 2,25 µm yν = 0,29. b)d = 12,3 µm y ν = 1,57 . c)d = 19,85 µm. y ν = 2,53. . . 169

Page 22: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

xii ÍNDICE DE FIGURAS

5.19. Análisis del oren difractado y transmitido para una RHV en trans-misión con ∆n=0.025. (a) Eficiencia en difracción (m = 1). b) Efi-ciencia en transmisión (m = 0). . . . . . . . . . . . . . . . . . . . . . 170

5.20. Análisis del oren difractado y transmitido para una RHV en trans-misión con ∆n=0.015. (a) Eficiencia en difracción (m = 1). b) Efi-ciencia en transmisión (m = 0). . . . . . . . . . . . . . . . . . . . . . 171

5.21. Curvas de eficiencia angular en función del ángulo de incidencia (θ)para una red de difracción de volumen con ∆n=0.025,Λ =0.83 µm,λ=633 nm. a) Modulación de índice ∆n = 0,025,ν = pi/2. b)∆n =0,015,ν = 0,94. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

5.22. Esquema ilustrativo de la configuración de una red de difracción holo-gráfica de reflexión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

5.23. Representación del campo eléctrico para un paso temporal en el quese ha alcanzado el estado estacionario. . . . . . . . . . . . . . . . . . 174

5.24. Eficiencia en difracción en función del ángulo de incidencia. Compar-ativa entre el MM a partir de las funciones de Mathieu, la teoría deKogelnik y el método numérico de las DFDT. . . . . . . . . . . . . . 174

5.25. Análisis de la eficiencia angular en función de la resolución espacial enlos métodos de las DFDT y de la matriz efectiva. En ambas gráficaslas curvas del MM y de Kogelnik son las mismas. (a) Curvas de FDTDy de MME para 8 muestras por Λ. (b) Curvas de FDTD y de MMEpara 16 muestras por Λ. . . . . . . . . . . . . . . . . . . . . . . . . . 176

5.26. Comparativa entre los resultados numéricos obtenidos mediante elmétodo de las DFDT y el MM, los parámetros de simulación se reco-gen en la Tabla 5.7. (a) Reflectancia en función ángulo de incidenciade la red. (b) Transmitancia en función del ángulo de incidencia. . . 178

5.27. Transmitancia y reflectancia en función de la longitud de onda. Parámet-ros de la simulación recogidos en la Tabla 5.7. . . . . . . . . . . . . . 179

Page 23: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

ÍNDICE DE FIGURAS xiii

5.28. Representación del tiempo de ejecución de la versión 1 del métodode las DFDT para las diferentes implementaciones y estaciones detrabajo. El grupo de figuras (a), (c) y (e) se corresponden con lasversiones secuencial, SSE+OpenMP y CUDA respectivamente paraBell. El grupo de figuras (b), (d) y (f) se corresponden con las versionessecuencial, SSE+OpenMP y CUDA respectivamente para Clerk. Paramás información sobre cada una de las estaciones ver Tabla 4.2. . . . 181

5.29. (a) SpeedUp para la versión SSE+OpenMP en Clerk y para la versión2 del método de las DFDT. (b) SpeedUp para la versión CUDA en laClerk y para la versión 2 del método de las DFDT. (c) Cociente entrelos tiempos de la versión SSE+OpenMP y CUDA para la Clerk y laversión 2 del método de las DFDT. . . . . . . . . . . . . . . . . . . . 182

5.30. Comparativa entre tiempos de proceso de la versión 3 del método de lasDFDT en la estación 2: (a) SpeedUp para la versión SSE+OpenMP.(b) SpeedUp para la versión CUDA. (c) Cociente entre los tiempos dela versión SSE+OpenMP y CUDA. . . . . . . . . . . . . . . . . . . . 184

5.31. Rendimiento en Gflops/s para la versión 3 del método de las DFDT:(a) SSE+OpenMP en la estación 1. (b) SSE+OpenMP en la estación2. (c) CUDA en la estación 1. (d) CUDA en la estación 2. . . . . . . 186

Page 24: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

xiv ÍNDICE DE FIGURAS

Page 25: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Índice de tablas

4.1. Datos sobre la estructura de la memoria caché en los microproce-sadores modernos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.2. Especificaciones técnicas de las estaciones de cómputo utilizadas. . . 113

4.3. Tiempos de ejecución y rendimiento para las dos estaciones de trabajoy en función de la optimización introducida. . . . . . . . . . . . . . . 114

4.4. Especificaciones técnicas para la familia FermiTM . . . . . . . . . . . . 124

4.5. Velocidad de bus para los buses vinculados a una UPG . . . . . . . . 126

4.6. Especificaciones técnicas para las tarjetas gráficas GeForce GTX 460y 470. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

4.7. Comparativa de diferentes tamaños de bloque para el el método delas DFDT en dos dimensiones. Datos obtenidos con la tarjeta GeForceGTX 470 para un tamaño de simulación de 2560×2560 celdas. . . . . 133

4.8. Comparativa de diferentes tamaños de bloque para el el método de lasDFDT en dos dimensiones con la incorporación de las PMLs. Datosobtenidos con la tarjeta GeForce GTX 470 para un tamaño de simu-lación de 2560×2560 celdas. . . . . . . . . . . . . . . . . . . . . . . . 137

4.9. Resumen de los tamaños de bloque y de malla para cada uno de loskernels mostrados en las Figuras 4.20 y 4.22. . . . . . . . . . . . . . . 140

5.1. Región límite entre las aproximaciones de Fresnel y Fraunhofer . . . 149

Page 26: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

xvi ÍNDICE DE TABLAS

5.2. Expresiones en región de Fraunhofer de la irradiancia normalizada enfunción del número de aperturas . . . . . . . . . . . . . . . . . . . . 149

5.3. Comparativa entre resolución del mallado y prestaciones del algoritmo(versión secuencial). . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

5.4. Parámetros de simulación del método de las DFDT. . . . . . . . . . 161

5.5. Parámetros de simulación del método de las DFDT para redes dedifracción por transmisión. . . . . . . . . . . . . . . . . . . . . . . . . 170

5.6. Parámetros de simulación del método de las DFDT para la red dedifracción de transmisión analizada en la Figura 5.24. . . . . . . . . . 175

5.7. Parámetros de simulación del método de las DFDT para redes dedifracción por reflexión. . . . . . . . . . . . . . . . . . . . . . . . . . 177

5.8. Tiempos de simulación para la versión 3 del método de las DFDTpara una malla de 2560×2560 para la versión secuencial, la versiónSSE+OpenMP y la versión CUDA. . . . . . . . . . . . . . . . . . . . 180

Page 27: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Acrónimos

TE Transversal Eléctrico.

TM Transversal Magnético.

API Application Programming Interface.

CAP Capas de Adaptación Perfecta.

CFA Condiciones de Frontera Absorbentes.

CT-CD Campo Total-Campo Dispersado.

CUDA Compute Unified Device Architecture.

DAC Diseño Asistido por Computador.

DFDT Diferencias Finitas en el Dominio del Tiempo.

FCF Filtros de Capas Delgadas.

Flops Floating Point Operations per Second .

ID Identificador.

MEF Método de Elementos Finitos.

MLT Modelo de Líneas de Transmisión.

MM Método Matricial.

MMC Método de la Matriz Característica.

MMX MultiMedia eXtension o Multiple Math o Matrix Math eXtension.

Page 28: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

xviii Acrónimos

MoM Método de los Momentos.

MPI Message Passing Interface.

PGUPG Propósito General basado en Unidades de Procesado Gráfico.

PML Perfectly Matched Layers.

RDH Redes de Difracción Holográfica.

SIMD Single Instruction, Multiple Data.

SIMT Single Instruction Multiple Thread .

SISD Single Instruction, Single Data.

SM Streaming Processor .

SSE Streaming SIMD Extensions.

TIF Técnicas de Integración Finita.

TME Teoría del Medio Equivalente.

TOA Teoría de Ondas Acopladas.

TROA Teoría Rigurosa de Ondas Acopladas.

UAL Unidad Aritmético Lógica.

UCF Unidad de Coma Flotante.

UFE Unidad de Funciones Especiales.

UPC Unidad de Procesamiento Central.

UPG Unidad de Procesamiento Gráfico.

Page 29: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Lista de Símbolos

A Capa de longitud óptica de un cuarto de onda con índice de refracción alto.

ABef Ancho de Banda efectivo definido en GB/s.

B Capa de longitud óptica de un cuarto de onda con índice de refracción bajo.

ρ Vector de propagación de la onda de referencia R.

ς Vector de propagación de la onda difractada S.

c0 Velocidad de propagación de la luz en el vacío (m/s).

∆α Modulación espacial de la constante de absorción en la red de difracción.

∆ε Amplitud de la modulación del índice de permitividad eléctrica relativa.

∆n Modulación espacial del índice de refracción en la red de difracción.

∆σ Amplitud de la modulación del índice de conductividad eléctrica (S/m).

∆t Resolución temporal del método de las DFDT.

∆x Resolución espacial del método de las DFDT en la coordenada x (para celdasde Yee cúbicas ∆x = ∆y = ∆z = ∆).

D Vector desplazamiento eléctrico normalizado respecto a la impedancia intrínsecadel vacío η0 =

√µ0/ε0.

E Vector campo eléctrico.

E Vector campo eléctrico normalizado respecto a la impedancia intrínseca del vacíoη0 =

√µ0/ε0.

ε Permitividad eléctrica(F/m).

Page 30: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

xx Lista de Símbolos

ε0 Permitividad eléctrica en el vacío definida como 8,854×10−12 (F/m).

εr Constante de permitividad relativa.

εr0 Permitividad eléctrica relativa promedio en el interior de la red holográfica.

ε∗r Constante de permitividad relativa compleja.

η0 Impedancia intrínseca del vacío definida como η0 =√

µ0/ε0 ≈ 120π Ω.

ηqi Admitancia definida donde el subíndice indexa el medio i-ésimo y el superíndice

el tipo de polarización TM o TE.

f0 Frecuencia de oscilación (Hz).

H Vector campo magnético.

K Vector de red (rad/m).

k Constante de propagación (rad/m).

κ Constante de acoplamiento de una red de difracción.

Λ Período de red (m).

λ0 Longitud de onda en el vacío definida como c0/f0 (m).

M Capa de longitud óptica de un cuarto de onda con índice de refracción medio.

µ Permeabilidad magnética (H/m).

µ0 Permeabilidad magnética en el vacío definida como 4π×10−7 (H/m).

n0 Índice de refracción promedio en la red, definido como n0 =√

εr0.

nA Índice de refracción alto de una capa de un cuarto de onda.

nB Índice de refracción bajo de una capa de un cuarto de onda.

nc Número de celdas en la dimensión de las columnas en el método de las DFDT.

nf Número de celdas en la dimensión de las filas en el método de las DFDT.

nsteps Número de pasos temporales a realizar en el método de las DFDT.

ω Frecuencia angular de oscilación (rad/s).

Page 31: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Lista de Símbolos xxi

φ Ángulo que forman los planos de la modulación de índice en la red de difracciónrespecto a la normal del plano de incidencia (eje z) (o).

R Onda compleja de referencia a la entrada de la red de difracción holográfica.

S Onda compleja difractada en una red de difracción holográfica.

σ Conductividad eléctrica (S/m).

σ0 Conductividad eléctrica promedio en el interior de la red holográfica (S/m).

σm Resistividad magnética equivalente (Ω/m).

θB Ángulo de Bragg en el interior del material.

Y Admitancia en espacio libre definida como 2,6544 · 10−3 S.

Page 32: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes
Page 33: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 1

Introducción

1.1. Motivación

El electromagnetismo presenta un amplio espectro de aplicaciones que práctica-mente invade todas las facetas de nuestra vida cotidiana: como antenas, circuitosde microondas y de radio frecuencia, comunicaciones ópticas, etcétera. Estas apli-caciones pueden clasificarse en función del espectro frecuencial para el cual estánideadas. Este espectro es muy amplio, y se extiende hasta los rayos-X. El electro-magnetismo se puede definir como la disciplina que estudia la naturaleza de las cargaseléctricas, así como su relación con la corriente y el campo eléctrico y magnético. Porlo tanto, el electromagnetismo es un aspecto fundamental en el campo de la Físi-ca y la Ingeniería. Los conceptos teóricos relacionados con el electromagnetismo seresumen en un conjunto de leyes formuladas a través de experiencias realizadas alo largo del siglo XIX por diversos científicos, como Faraday, Ampère, Gauss, Lenzy Coulomb entre otros. En la segunda mitad del siglo XIX Maxwell sintetizó estasleyes en una formulación vectorial conocida como las ecuaciones de Maxwell [1].

La aplicación de esta teoría ha facilitado a numerosos investigadores de diferentescampos del electromagnetismo el entendimiento de un gran número de fenómenosfísicos. Resumir o describir, inclusive de forma somera, todas las ramas que se puedencontemplar, supone una tarea exhaustiva que presenta una caducidad inmediata. Espor ello que a continuación se va a dar una visión general del ámbito de aplicación deesta disciplina, que permite enmarcar y situar lo que posteriormente será el núcleode este trabajo. De manera general, se puede afirmar que el campo donde se harealizado un mayor número de contribuciones relacionadas con el desarrollo de la

Page 34: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2 CAPÍTULO 1. INTRODUCCIÓN

teoría electromagnética es en el campo de las microondas. Los avances tecnológicosrealizados en el último siglo en este campo se han centrado en estudiar las propiedadesde los electrones en materiales de estado sólido, como puede ser el caso de cristales.La composición regular de las moléculas en este material ha favorecido la presenciade bandas energéticas para los electrones. Este fenómeno ha permitido la fabricaciónde diodos, transistores y dispositivos electrónicos cada vez más complejos. Todosestos conocimientos, se están aplicando recientemente en el campo de la fotónicadebido a la analogía existente entre los fotones y los electrones, permitiendo diseñardispositivos fotónicos alternativos a los electrónicos.

Una de las estructuras básicas en dispositivos fotónicos es lo que se denomi-na cristal fotónico, el cual interactúa con los fotones de manera similar a la de uncristal de estado sólido con los electrones, pero a una escala espacial diferente [2].Los cristales fotónicos están compuestos normalmente por dos materiales dieléctri-cos con diferentes índices de refracción organizados de manera alternada en unaestructura que presenta periodicidad en una, dos o tres dimensiones [3]. Uno de losejemplos más sencillos de un medio periódico consiste en una secuencia de capasde dos materiales diferentes, alternados y de igual espesor [4]. La propagación delcampo electromagnético en el interior de estos medios presenta un conjunto de car-acterísticas cuyas aplicaciones son muy diversas. Algunos de estos fenómenos son lareflexión de Bragg y la presencia de bandas fotónicas prohibidas, donde éstas últimasse traducen en un rango espectral en el que la propagación de los fotones es de tipoevanescente. La aplicación de estas característica ha permitido el diseño de multitudde dispositivos ópticos como pueden ser guías de onda planas [5], filtros fotónicosde canal [6], acopladores [7], redes de difracción [8, 9], elementos ópticos holográfi-cos [10], lentes [11], espejos [12], sistemas de interconexión óptica holográfica [13],aplicaciones de energía solar fotovoltaica [14], computación óptica [15],etcétera.

Sin embargo, la óptica en medios periódicos y sus aplicaciones no están acotadasúnicamente a dispositivos fabricados por el hombre. Cabe destacar la presencia deeste tipo de configuraciones en la naturaleza. Por ejemplo, los llamativos coloresexistentes en algunas especies de mariposas y escarabajos, así como la característicaplateada en la piel y la gama de colores presentes en algunos animales marinos sonproducidos por la reflexión de la luz en medios periódicos [16]. Por lo que queda demanifiesto el interés en realizar análisis rigurosos de la radiación electromagnética enmedios periódicos.

Múltiples dispositivos fotónicos funcionan en base a cuestiones ligadas a la teoríade la difracción. Dentro de la óptica difractiva destacan por sus múltiples propiedadesy aplicaciones, las redes de difracción. De forma general, una red de difracción seconstituye mediante una serie de elementos difractores (aperturas u obstáculos), loscuales producen alteraciones periódicas en la fase y/o en la amplitud. El caso más

Page 35: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.1 Motivación 3

sencillo de este tipo de dispositivos son las conocidas redes de difracción de aperturas.Cuando la luz incide sobre un obstáculo se produce el fenómeno de la difracción y éstees observable cuando el obstáculo es lo suficientemente pequeño, o comparable conla longitud de onda de la luz incidente. Uno de los experimentos más conocidos rela-cionado con las redes de difracción de apertura, es el conocido como el experimentode Young de la doble rendija, realizado por Thomas Young en 1801. Este experimen-to demuestra de manera sencilla el comportamiento ondulatorio de la luz a partir delpatrón de difracción producido por la luz al incidir sobre dos rendijas. Existe otrotipo de redes de difracción basadas en la variación del índice de refracción del medio.Uno de los casos particulares de este tipo de dispositivos son las redes de difracciónobtenidas mediante técnicas holográficas. Uno de los avances más importantes en elúltimo siglo en el campo de la óptica difractiva fue realizado en 1948, por el ganadordel premio Nobel Dennis Gabor [17], el cual propuso un nuevo procedimiento de for-mación de imágenes sin lentes que posteriormente recibiría el nombre de Holografía.El análisis teórico de este tipo de dispositivos modela la formación del holograma apartir de dos ondas planas que producen un patrón de interferencia en el material.El material inicialmente es transparente, pero el patrón de interferencia induce unavariación sinusoidal en el índice de refracción, en el espesor, o en la absorción delsubstrato. La orientación de las superficies de interferencia puede formar un ánguloarbitrario que depende de la configuración de las ondas interferentes. Así, podemoshablar de lasRedes de Difracción Holográfica (RDH) de transmisión las cuales pro-ducen la imagen reconstruida a partir de la luz que atraviesa el material, y de RDHpor reflexión que reflejan la luz para reconstruir la imagen.

Otro dispositivo periódico de gran relevancia y que está presente en muchas ramasde la ciencia y de la tecnología son los Filtros de Capas Delgadas (FCF). Las primerasinvestigaciones de estos dispositivos surgen de manera paralela de mano de los padresde la óptica moderna Augustin Jean Fresnel, Joseph Fraunhofer y posteriormenteLord Rayleigh. Sin embargo, no fue hasta el siglo XIX cuando el desarrollo de estetipo de dispositivos se benefició de uno de los descubrimientos más importantes enel campo de la interferometría: el interferómetro Fabry-Perot [18], el cual es una delas estructuras básicas de los FCF. Estos dispositivos se basan en la interferenciaproducida por la luz al incidir en una secuencia de láminas dieléctricas delgadas.Al existir una discontinuidad, existe una onda reflejada y otra transmitida. La ondareflejada presenta una inversión de fase cuando la reflexión se produce en un mediode menor índice de refracción que el adyacente, mientras que no existe desfase cuandoel medio donde se produce la reflexión presenta un índice de refracción mayor queadyacente. Aplicando esta idea y combinando diferentes capas es posible manipular lainterferencia destructiva y constructiva de las ondas en el dispositivo. Este fenómenose ha aplicado a la fabricación de elementos ópticos como divisores de haz de bajaspérdidas, láminas antireflectantes y filtros.

Page 36: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4 CAPÍTULO 1. INTRODUCCIÓN

Numerosos investigadores han dedicado sus esfuerzos a la disciplina de la simu-lación numérica en el campo de la óptica difractiva [19–21] y la fotónica [22, 23]. Lapredicción de parámetros tan importantes como la sensibilidad espectral, la sensibi-lidad angular y la transmitancia y reflectancia en el campo de los elementos ópticosdifractivos es un reto al mismo tiempo que simplifica y facilita la optimización en laetapa de diseño y fabricación.

En las últimas décadas, la tendencia hacia el uso de librerías y herramientasbasadas en Diseño Asistido por Computador (DAC) es una realidad creciente. Desdeel punto de vista industrial, el proceso de evaluar nuevos prototipos implica un gastosignificativo en ensamblado, montaje de componentes, mecanizado, fabricación, porno contar el coste del banco de pruebas relativo al uso del dispositivo y cumplimientode normas. En definitiva, se trata de un gran conjunto de tiempo y dinero, en manode obra y/o material. Por lo que la evolución natural tiende a que los sistemasinformáticos permitan facilitar y abaratar tales funciones.

Al margen de su tradicional valor científico y académico, la simulación numéricacontribuye con una considerable reducción de costes en el ámbito de la ingenieríay de la industria. De manera general, se pueden enumerar una serie de beneficiosgenerales de la simulación numérica independientemente del producto y del procesode fabricación del mismo:

Disminución del tiempo de acceso al mercado.

Incremento de la calidad del producto.

Reducción del nivel de esfuerzo.

Mejor sincronía en procesos paralelos.

Optimización del proceso de diseño.

La base de la simulación numérica es lo que se denomina un programa de cálculo,el cual no deja de ser una excelente herramienta para resolver sistemas de ecuacionesy, como tal, tiene potencial para abordar todo un amplio conjunto de problemasmatemáticos. La era de la información, junto con el aumento de la capacidad com-putacional de los computadores modernos ha permitido resolver problemas de ungran número de incógnitas en tiempos cada vez más reducidos. En consecuencia, esnecesario recurrir a modelos matemáticos que permitan reproducir el comportamien-to físico de un dispositivo real. Este problema, puede alcanzar diferentes grados deprofundidad, dependiendo de la precisión y del grado de similitud que se desee al-canzar. Habitualmente, se suele simplificar el proceso descomponiéndolo en pequeños

Page 37: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.1 Motivación 5

subsistemas cuyo modelado sea más sencillo e intuitivo, para finalmente ensamblarlos resultados y obtener el comportamiento global.

Entre los sistemas susceptibles de análisis, pueden encontrarse los que por su na-turaleza ya están divididos en subsistemas, los cuales reciben el nombre de sistemasdiscretos. En el caso concreto del electromagnetismo, un ejemplo de un sistema dis-creto es un circuito electrónico compuesto por elementos distribuidos. En este casosuele ser bastante directo detectar los elementos que constituyen un elemento globaly los nodos que los interconectan. Sin embargo, en la mayoría de los casos, diferentescomponentes de un sistema no son fácilmente identificables. La separación de estossistemas contiguos implica normalmente, realizar una partición abstracta hasta nive-les infinitesimales. El modelo matemático asociado a este tipo de problemas recibeel nombre de modelo matemático continuo o analítico, y está basado en ecuacionesdiferenciales generalmente en derivadas parciales e involucra un número infinito deelementos. La solución de un problema de este tipo presenta dos posibilidades: optarpor la solución analítica exacta del mismo u obtener una solución numérica aproxima-da. Aunque la primera opción resulta más atractiva, en muchos casos es demasiadolaboriosa y no siempre resuelve el sistema con éxito. La segunda estrategia pasa poruna adaptación a un modelo numérico, que en la mayoría de los casos se basa en unadiscretización, y resulta más abordable bajo diferentes aspectos.

Los métodos numéricos que permiten resolver las ecuaciones de Maxwell se puedenclasificar en primera instancia en dos grandes familias: los métodos diferenciales y losmétodos integrales. De la primera familia de métodos cabe resaltar alguno de ellospor su popularidad y aceptación dentro de la comunidad científica, como puedenser el método de las Diferencias Finitas en el Dominio del Tiempo (DFDT) [24],las Técnicas de Integración Finita (TIF) [25] y el Modelo de Líneas de Transmisión(MLT) [26]. Por otro lado, los métodos integrales orientados hacia el análisis espec-tral se basan principalmente en el Método de Elementos Finitos (MEF) [27] y en elMétodo de los Momentos (MoM) [27]. El objetivo principal de los métodos diferen-ciales es proporcionar la solución en los nodos o elementos de cálculo, mientras quelos métodos integrales ofrecen una ponderación sobre el continuo entre los puntos deldominio.

Tal y como se ha mencionado con anterioridad, el electromagnetismo comprendeun amplio rango espectral. Por ello, es tarea ardua encontrar una notación homogéneaen disciplinas como la electrónica, o la fibra óptica, donde las longitudes de onda detrabajo se diferencian en varios órdenes de magnitud. Estas diferencias, junto conlos avances que se están llevando a cabo en la ciencia y la tecnología han favoreci-do el fenómeno de la especialización. En consecuencia, cada segmento del electro-magnetismo ha desarrollado sus propios métodos numéricos enfocados a cada casoparticular. Por ejemplo, la teoría de circuitos se sitúa en la zona del espectro de

Page 38: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

6 CAPÍTULO 1. INTRODUCCIÓN

baja frecuencia. En este régimen, los objetos bajo estudio son mucho más pequeñosque las longitudes de onda de trabajo, por lo que manipular corrientes y voltajes esmucho más sencillo y funcional que trabajar con los campos electromagnéticos demanera directa. A medida que la frecuencia aumenta, la teoría ondulatoria rigurosacomienza a ser más adecuada conforme se llega a la región de frecuencias de radioy microondas. Si seguimos aumentando en el espectro hasta frecuencias del ordende los micrómetros y los nanómetros (longitudes de onda ópticas), la teoría ondu-latoria rigurosa sigue siendo válida aunque es menos eficiente debido a las grandesdimensiones de los dispositivos comparadas con el orden de las longitudes de onda detrabajo. Por ello, la aplicación de métodos aproximados en el campo de la ingenieríaóptica ha captado el interés de numerosos investigadores.

Esta Tesis Doctoral tiene por objeto el estudio de diferentes métodos analíticosy numéricos y su aplicación a elementos ópticos difractivos en longitudes de on-da ópticas. Concretamente, se ha recurrido al método numérico de las DFDT. Losanálisis electromagnéticos en el dominio temporal han alcanzado una madurez con-siderable en el ámbito de las microondas y para longitudes de onda milimétricas.Por ello, existe un gran interés en expandir este tipo de análisis a rangos espectralesmás cercanos a la óptica. Esta idea está soportada por dos razones que unen más sicabe el mundo empresarial y la investigación aplicada. Por un lado, las numerosasinvestigaciones que se están realizando en la actualidad en el campo de la ópticay la fotónica, que auguran un futuro prometedor para esta tecnología que se es-pera sustituya a los dispositivos electrónicos de estado sólido actuales. Y por otrolado, el interés suscitado por los investigadores y empresas en incorporar solucionessoftware en la cadena de diseño y fabricación que les ayuden a estudiar y analizarsus dispositivos de tecnología óptica de una manera rápida y eficiente. El aumentode la complejidad de los dispositivos ópticos y fotónicos relega los métodos clásicosde análisis numérico, como trazado de rayos y las teorías difractivas, a un segundoplano debido a su incapacidad de proporcionar resultados precisos. Por ello, tal ycomo afirman Salski et al [3], se pronostica un futuro prometedor a métodos comoel de las DFDT que acompañado de los avances que se están realizando en el área dela optimización computacional permiten realizar análisis cada vez más exhaustivoscon unos requisitos computacionales inabordables hace unas décadas.

Uno de los factores que relegó los métodos en el dominio del tiempo, como puedeser el método de las DFDT a un segundo plano frente a el MEF, por ejemplo, hasido el coste computacional que requieren los métodos transitorios en frecuenciasmedias y bajas. La resolución de los campos en el caso particular del método delas DFDT implica recorrer cada uno de los puntos discretos del espacio y evaluarcada una de las componentes del campo electromagnético en función del tiempo ydel espacio. El coste temporal del método, es proporcional al número de incógnitasy al número de pasos temporales que se desean contemplar. Por ello, el análisis de

Page 39: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.1 Motivación 7

estructuras como por ejemplo, filtros estrechos de elevado factor de forma, necesitade un elevado número de pasos temporales para asegurar resultados satisfactorios ypor lo tanto un coste computacional muy elevado. Además, los métodos diferencialespadecen del problema de la dispersión producida por la diferencia de velocidad en lapropagación en función de la dirección en el interior de las celdas que conforman lamalla de simulación. Aunque, es cierto que por ejemplo en el método de las DFDTestos errores se mantienen de forma general acotados y en la mayoría de los casosson despreciables.

Por otro lado, la simulación de estructuras periódicas con condiciones de contornoarbitrarias ha sido un campo dominado principalmente por formulaciones basadasen las expresiones integrales de Maxwell en el dominio de la frecuencia, como puedeser el MEF o el MoM. Estos métodos requieren de la solución de un gran sistema deecuaciones para cada frecuencia de interés, los cuales están limitados a sistemas devarias decenas de millones de incógnitas [28]. Otro de los grandes inconvenientes deluso de métodos como el MEF ha sido la complejidad a la hora de definir la malla desimulación. Habitualmente, esta malla está formada por figuras geométricas sencillas,como pueden ser triángulos, tetraedros y hexágonos, que aunque permiten modelar deuna manera más rigurosa geometrías complejas, requieren de un esfuerzo y un tiempoconsiderable a la hora de preparar el modelo para cada aplicación en particular. Ennumerosas ocasiones, es necesario recurrir a complejos programas de DAC en la etapade preprocesado que permitan construir el sistema de ecuaciones que ha de resolversecon posterioridad.

Concretamente, el método diferencial en el dominio del tiempo como puede serel DFDT presenta las siguientes ventajas respecto a métodos integrales en el dominiode la frecuencia como MEF y MoM:

No es necesario solucionar un sistema de ecuaciones del tipo A · x = b demanera directa. En cada paso temporal el algoritmo recurre a operacionesaritméticas elementales sobre los valores de los campos, basadas en la aproxi-maciones en diferencias centrales de la derivada.

Los requisitos de memoria aumentan de forma lineal con el número de in-cógnitas, o lo que es lo mismo con el número de celdas a simular frente a ladiscretización producida por MEF o MoM.

La generación de la malla para estructuras laminares, como pueden ser las RDHo una estructura de capas es mucho más sencilla y conveniente para el caso delmétodo de las DFDT que para el MEF.

Sin embargo, uno de los inconvenientes principales en el uso del método de

Page 40: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

8 CAPÍTULO 1. INTRODUCCIÓN

las DFDT en longitudes de onda ópticas es la necesidad de reducción de las resolu-ciones espaciales y temporales, para asegurar tanto estabilidad como convergenciaen el método. Por ello, la simulación de grandes regiones comparadas con la longitudde onda de trabajo (escenario común en óptica difractiva) y un elevado número depasos temporales aumenta el coste computacional en términos de uso de memoria ytiempo de simulación. Además cabe destacar, que el coste temporal del método delas DFDT es de tipo exponencial, por lo que un ligero aumento en las dimensionesde la malla repercute en gran medida en el tiempo total de cálculo.

No obstante, en las últimas décadas, los microprocesadores basados en una únicaUnidad de Procesamiento Central (UPC) como la familia PentiumTM de IntelTM

y los OpteronTM de AMDTM , han permitido reducir los tiempos de simulación. Elaumento en la velocidad de estos procesadores ha revolucionado el mundo de lainformática en pocos años, mejorando los interfaces de usuario, y ampliando lasfuncionalidades del software. La demanda de estas características ha aumentado amedida que la capacidad de estos procesadores también lo ha hecho, por lo que laindustria de los computadores se ha visto inmersa en un ciclo de desarrollo definidopor la ley de Moore en 1975, el cual afirmó que el rendimiento de las computadorasaumentaría de forma exponencial, duplicando la capacidad de integración en losmicroprocesadores cada dos años [29]. Sin embargo, el propio Moore vaticinó pocosaños después, la fecha de caducidad de su teoría aproximadamente para el año 2007,a partir del cual predijo que una nueva tecnología vendría a suplir la actual. En larealidad, los avances en esta tecnología han sufrido una ligera desaceleración a partirdel año 2003 debido principalmente al consumo energético y la disipación de calorque han limitado el aumento de la frecuencia de trabajo del sistema y el tipo deprocesos que pueden realizarse por ciclo de reloj en una UPC.

A partir del año 2005, los fabricantes de microprocesadores cambiaron su filosofíade trabajo y optaron por incluir más de una UPC en sus productos [30]. Este cambioen la industria ha seguido dos trayectorias diferenciadas desde el punto de vista dediseño. Por un lado se puede identificar una vertiente denominada multi-núcleo quepersigue mantener la velocidad de ejecución de los programas secuenciales trasladadaa múltiples núcleos. El cambio en la arquitectura hardware de los microprocesadoresha repercutido en la manera de generar software, provocando que los programadoresde software hayan tardado en adaptarse a esta nueva arquitectura. En consecuen-cia, las expectativas de los consumidores que veían duplicado el rendimiento en cadageneración de procesadores no se han cumplido, debido a que el paradigma de pro-gramación se ha visto alterado de manera significativa. Sin embargo, es cierto que laprogramación paralela se ha utilizado durante décadas en la comunidad científica enconfiguraciones de elevado coste por medio de servidores formados por un gran con-junto de computadores. Estas soluciones implican un esfuerzo económico junto a unalabor de diseño y mantenimiento considerables. En muchas ocasiones estos recursos

Page 41: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.1 Motivación 9

0

100

200

300

400

ENE FEB ABR MAY NOV MAR NOV2003 2004 2005 2006

GFlo

ps

NV30NV35 NV40

G70G70-512

G71

G80

3.0 GHz

Intel Core2 Duo

Figura 1.1: Evolución temporal del rendimiento de los UPG y UPC [31].

eran difíciles de justificar y las ventajas de utilizar dichos servidores se veían compro-metidas en poco tiempo debido a los constantes cambios en la tecnología. Hoy en día,los microprocesadores modernos pueden considerarse como computadores paraleloscapaces de realizar múltiples tareas de manera simultánea. Un ejemplo actual es elreciente microprocesador IntelTM CoreTM i7 el cual presenta 4 UPC, cada una de lascuales es capaz de ejecutar el conjunto de instrucciones x86.

La segunda vertiente de diseño de microprocesadores se define a partir del términoanglosajón many-core, el cual se centra principalmente en la ejecución de aplicacionesparalelas. Un ejemplo de esta alternativa es la Unidad de Procesamiento Gráfico(UPG) de NVIDIATM GeForceTM GTX 280 con hasta 240 núcleos. La arquitecturade estos dispositivos presenta una gran capacidad de gestionar procesos de maneracompartida entre los diferentes núcleos y han aumentado el rendimiento de aplica-ciones computacionales de precisión simple desde el 2003. En la Figura 1.1 se muestrala evolución temporal desde el 2003 del rendimiento de los UPC de NVIDIATM com-parada con la evolución de los procesadores IntelTM . Cabe destacar que la decisiónde optar por este tipo de tecnología no es exclusivamente fruto del alto rendimientoprevisto por la misma. Uno de los factores más importantes a la hora de escoger estaalternativa como una opción para acelerar aplicaciones en ingeniería es la presenciaen el mercado de este tipo de dispositivos. Las UPG poseen un gran mercado en loscomputadores de sobremesa, ya que aproximadamente cada ordenador debe albergaruno de estos dispositivos, lo que confirma la idea de que la computación paralela deforma masiva ha llegado al mercado de masas. Por dar un ejemplo cualitativo, elprocesador de NVIDIATM G80 superó la cifra de 200 millones de unidades vendidasen el 2010 [31]. Esta tendencia ha permitido la fabricación de procesadores gráficosde alto rendimiento con bajos costes, por lo que esta tecnología hoy en día está ri-

Page 42: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

10 CAPÍTULO 1. INTRODUCCIÓN

valizando con aquellas presentes hasta la fecha en el área de la computación de altorendimiento. Uno de los ejemplos de esta revolución es la nueva hegemonía en elranking de las super computadoras TOP500. Este ranking se realiza por universi-dades alemanas y estadounidenses de forma periódica y ha confirmado en su últimaedición en Noviembre de 2010 que el computador más rápido del mundo situado enel Centro Nacional de Supercomputación de la ciudad de Tianjin (norte) es capaz dedesarrollar 2.670 billones de operaciones por segundo (2,67 petaflops por segundo),superando los 1,75 de la que hasta ahora ostentaba el primer lugar, el Cray Jaguarestadounidense. El Tianhe 1A utiliza 4.336 CPUs Intel Xeon X5670 y 7.168 GPUsNVidia Tesla M2050.

Otro de los motivos a destacar sobre la elección de la computación mediante UPGestá relacionado con la actitud de diversas empresas como GE y Siemens frente aeste tipo de tecnologías. En particular estas empresas del sector de la biomedicinahan aplicado este tipo de tecnología a la reducción del hardware necesario para elprocesamiento de imágenes obtenidas a partir de resonancias magnéticas. Este tipode aplicaciones presentan un elevado coste computacional que en el ámbito de lainvestigación se llevaba a cabo mediante redes de ordenadores de hasta 64 nodos,siendo inviable para aplicaciones médicas. Inclusive, el Instituto Nacional de Saluddel Gobierno de los Estados Unidos de América llegó a abandonar la financiaciónde proyectos destinados a la computación paralela ya que vaticinaron un impactonegativo de productos basados en servidores instalados en aplicaciones sanitarias.Hoy en día, las empresas del sector han recurrido a la tecnología basada en las UPGy las investigaciones en este campo se han retomado debido a la reducción de costesy el aumento de las prestaciones.

En concreto, acelerar métodos numéricos está siendo objeto de numerosas inves-tigaciones por parte de la comunidad científica, ya que el coste temporal de métodoscomo el de las DFDT puede ser reducido de manera drástica con el uso de nuevastécnicas de programación paralela, tanto en el ámbito de las UPC como en las UPG.Por ello parte de este trabajo de investigación se ha dedicado a la aplicación detécnicas de programación paralela a la computación científica

1.2. Objetivos

Esta Tesis Doctoral surge a partir de la motivación expuesta y se enmarca enel estudio, análisis y optimización de medios periódicos en el campo del electromag-netismo, y en particular en la óptica difractiva. El orden de magnitud de las longi-tudes de onda entre otros factores complica el análisis riguroso de estos elementos y

Page 43: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.2 Objetivos 11

por ello resulta imprescindible desarrollar e implementar librerías software capacesde simular estos dispositivos con un coste temporal aceptable y con exactitud.

El objetivo fundamental de este trabajo de investigación es la implementación deun conjunto de métodos numéricos aplicados al análisis electromagnético de mediosperiódicos en longitudes de onda ópticas. En particular se van a estudiar las RDHy FCF. Para el caso concreto de las RDH analizadas, la periodicidad es de tiposinusoidal, mientras que para el caso de los FCF, son dispositivos constituidos poruna secuencia de capas dieléctricas delgadas, cuyo patrón presenta una periodicidadconcreta. Las propiedades físicas del dispositivo están definidas directamente por elconjunto de capas que constituyen dicho período elemental, por lo que el considerarmás o menos períodos no varía el tipo de aplicación del dispositivo en gran medida.Se pretende caracterizar el comportamiento de los mismos en función de parámetrosfísicos como pueden ser la transmitancia, la reflectancia, la sensibilidad angular, etc.

De entre todos los métodos propuestos, en este trabajo de investigación se harecurrido al método DFDT para obtener el campo electromagnético en función deltiempo y del espacio. Se ha optado por un método numérico que permite resolverlas ecuaciones de Maxwell en el dominio del tiempo para poder obtener la mayorcantidad de información posible, ya que a partir de la información temporal es directoobtener el comportamiento espectral, mientras que los métodos como MEF o MoMno están directamente ideados para obtener información temporal a través de susanálisis. Para conseguir el objetivo propuesto será necesario implementar el métodonumérico desde cero y recurrir a formalismos analíticos clásicos que corroboren larigurosidad de la herramienta desarrollada. La implementación completa del métodopermitirá adaptarlo a las aplicaciones específicas que nos hemos propuesto, ya queherramientas software comerciales presentan limitaciones y curvas de aprendizaje queno son el objeto de un trabajo de investigación de esta envergadura. Unos primerosexperimentos con redes de difracción basadas en aperturas servirán para entrar encontacto con el método y comprobar su precisión y exactitud a la hora de simularelementos ópticos difractivos. Dichos experimentos son ampliamente conocidos, yentre ellos cabe destacar el experimento de la doble rendija de Young, el cual es unaexperiencia básica en cualquier laboratorio de óptica elemental.

La aplicación de diferentes métodos numéricos permitirá contrastar y validar lasdiferentes implementaciones y parámetros de la simulación. Por lo tanto también esun objetivo realizar una investigación en formalismos analíticos o numéricos que pro-porcionen soluciones exactas, que permitan validar los resultados obtenidos a partirdel método numérico de las DFDT. Estos esquemas están basados en formalismosmatriciales tradicionales y son ampliamente aceptados por la comunidad científica,como pueden ser la Teoría de Ondas Acopladas (TOA), Teoría Rigurosa de OndasAcopladas (TROA), Método Matricial (MM) y el Método de la Matriz Característica

Page 44: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

12 CAPÍTULO 1. INTRODUCCIÓN

(MMC).

Para aplicar con éxito el DFDT será necesario optimizar el método numérico,con el objetivo de reducir el tiempo de simulación. Para ello se recurrirá a unaimplementación paralela del algoritmo que obtenga el máximo partido de las UPCmodernas y de forma similar se considerará la implementación paralela sobre las UPGactuales. Aunque en ambos casos, una de las primeras condiciones para optimizarun código secuencial mediante paralelismo será en primer lugar optimizar el pro-pio código secuencial, evitando malos hábitos de programación y reorganizando lasoperaciones teniendo en cuenta la arquitectura donde se va a ejecutar el algoritmo.

Respecto a la optimización a realizar en las UPC actuales, se aplicará una primeraaproximación al paralelismo mediante el paradigma de programación basado en op-eraciones aritméticas elementales aplicadas sobre un grupo de datos, concepto iden-tificado con el término anglosajón Single Instruction, Multiple Data (SIMD). Estatécnica es análoga al concepto de vectorización, y en ocasiones el uso de estos ope-radores recibe el nombre de operadores o funciones intrínsecas del microprocesador.Este juego de operadores fueron introducidos por IntelTM a partir del Pentium IIITM

motivado por el aumento del número de aplicaciones multimedia. En concreto per-miten realizar operaciones aritméticas básicas sobre conjuntos de cuatro valores ensimple precisión o dos en doble precisión proporcionando de manera teórica unamejora de cuatro y dos respectivamente comparado con la versión secuencial. Actoseguido, se recurrirá a paralelizar el algoritmo segmentando los datos a procesar ydistribuyéndolos entre más de un proceso. Para que este esquema sea eficiente esnecesario evitar las dependencias entre los diferentes procesos, y de manera análogaa la vectorización, el ratio teórico es máximo cuando el número procesos es igual alnúmero de UPC disponibles en el microprocesador.

La implementación numérica del método de las DFDT sobre las UPG presen-ta un cambio considerable respecto al paradigma de programación secuencial. Elnúmero elevado de núcleos que pueden computar al unísono una gran cantidad deinformación implica una reformulación completa del problema y un cambio sustan-cial en la perspectiva a la hora de afrontar el problema en cuestión. Un conocimientoexhaustivo de la arquitectura de las UPG es completamente necesario para poderafrontar el problema con éxito. Hasta el 2006, los procesadores gráficos eran difícilesde programar ya que era necesario recurrir a librerías orientadas a la programacióngráfica como OpenGLTM o Direct3DTM . Estas interfaces de usuario limitaban engran medida el rango de aplicaciones que se podían llegar a realizar con estos proce-sadores e implicaban un gran esfuerzo por parte de los programadores. Para facilitarla adaptación y la comunicación con estos dispositivos se ha recurrido a la interfaz deprogramación de aplicaciones propietaria de NVIDIATM , identificado con el términoanglosajón Compute Unified Device Architecture (CUDA). El uso de esta tecnología

Page 45: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.3 Contenido y organización 13

en la computación numérica ha demostrado que no todos los cálculos en Ciencia eIngeniería se pueden adaptar de manera eficiente a esta arquitectura, por ello, losfabricantes a partir del interfaz de programación CUDA permiten la realización decálculos de manera conjunta entre UPC y UPG en una misma aplicación.

1.3. Contenido y organización

El contenido de esta Tesis Doctoral se ha divido en diferentes capítulos temáticosy autocontenidos. El Capítulo 2 está dedicado a los métodos matriciales desarrolla-dos e implementados en este trabajo. Cada uno de estos métodos presenta unashipótesis de partida y unas aproximaciones que delimitan el rango de aplicabilidadde los mismos. Por lo que cada uno de ellos es introducido y aplicado a un tipoconcreto de problema físico. Aunque de manera rigurosa, todos ellos no pueden serclasificados como métodos exactos, a lo largo de este trabajo de investigación se va arecurrir a estos formalismos para validar los resultados obtenidos a partir del méto-do numérico. De la misma manera, tampoco pueden considerarse métodos analíticosen su totalidad, ya que en algunos casos, las expresiones cerradas que proporcionanpara la transmitancia o la reflectancia son obtenidas a partir de desarrollos en se-rie o similares. Por ello, se ha decidido clasificarlos como teoría diferencial clásicaparticularizada al análisis de medios periódicos. En la mayoría de los casos, suelehaber involucrada una matriz conformando un sistema de ecuaciones lineal que deberesolverse mediante técnicas convencionales.

En el Capítulo 3 se introducen los conceptos básicos y avanzados del métodonumérico basado en las DFDT. Se realizará un recorrido que parte de la versiónunidimensional hasta llegar a la versión tridimensional del método. A lo largo deeste capítulo se introducirán una serie de formalismos considerados necesarios parala aplicación de este método a problemas de óptica difractiva.

En el Capítulo 4 se detallan las estrategias utilizadas en la optimización com-putacional del método de las DFDT tanto en su ejecución en UPC como en las UPG.Asimismo, se introducirá la arquitectura de ambas plataformas hardware para faci-litar la comprensión de las decisiones tomadas para acelerar el método numérico encada una de ellas.

Seguidamente, en el Capítulo 5 se analizan los resultados obtenidos a partir de laaplicación de los diferentes métodos numéricos a los dispositivos ópticos difractivosconsiderados. En primer lugar se estudia la difracción de la luz producida por redesde difracción de apertura mediante el método de las DFDT. Los patrones de difrac-ción obtenidos a partir del método de las DFDT son contrastados con los teóricos

Page 46: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

14 CAPÍTULO 1. INTRODUCCIÓN

proporcionados por teorías bien conocidas en las regiones de Fresnel y Fraunhofer.Estos resultados verifican la correcta implementación del método numérico al mis-mo tiempo que proporcionan una visión panorámica de las posibilidades del métodoen el análisis electromagnético de la luz en dispositivos ópticos. A continuación, sepresentan los resultados relacionados con el análisis de la difracción en RDH tan-to de transmisión como en reflexión. En ambos casos los valores numéricos de lareflectancia y transmitancia obtenidos mediante el método de las DFDT van acom-pañados de las curvas teóricas calculadas a partir de métodos clásicos como la TOA,la TROA, y otros métodos más novedosos como pueden ser el MM basado en las fun-ciones de Mathieu. También se realizará un breve análisis de dispositivos multicapacomo son los FCF; en concreto se analizarán diferentes configuraciones de láminasde alta reflectancia a partir de los datos numéricos y analíticos. Posteriormente, semostrarán los resultados obtenidos a partir de la optimización computacional en elmétodo de las DFDT, tanto en la ejecución en microprocesadores como en la versiónpara procesadores gráficos. Estos resultados serán proporcionados en términos detiempo de ejecución y de rendimiento en número de instrucciones por segundo, conla finalidad de obtener un visión cuantitativa del grado de mejora introducido porlas estrategias de optimización consideradas.

Finalmente, en el Capítulo 6 se presentan las conclusiones de esta Tesis Doctoral.

1.4. Publicaciones

Las publicaciones relacionadas con este trabajo son las siguientes:

Artículos en revistas

Francés, J., Bleda, S., Neipp, C., Márquez, A., Pascual, I., Beléndez, A., “Per-formance analysis of the FDTD method applied to holographic volume grat-ings: multi-core CPU versus GPU computing”, Computer Physics Communi-cations*, Enviado.

Francés, J., Bleda, S., Neipp, C., Márquez, A., Beléndez, Pascual, I., “Analysisof reflection gratings by means of a matrix method approach”, Progress InElectromagnetic Research∗, Aceptado.

Francés, J., Pérez-Molina, M., Bleda, S. Fernández, E., Neipp, C., Beléndez,A. “Educational Software for Interference and Optical Diffraction Analysis in

*Revistas indexadas en la base de datos JCR de Science Edition.

Page 47: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

1.4 Publicaciones 15

Fresnel and Fraunhofer Regions Based on MATLAB GUIs and the FDTDMethod”, IEEE Transactions on Education*, Aceptado.

Francés, J., Pérez-Molina, M., Neipp, C., Beléndez, A. “Rigorous interferenceand diffraction analysis of diffractive optic elements using the Finite-DifferenceTime-Domain method”, Computer Physics Communications∗, 181(12), 1963 -1973, 2010.

Francés, J., Neipp, C., Pérez-Molina, M., Álvarez, M. L., Beléndez, A. “Apli-cación del algoritmo de las diferencias finitas en el dominio del tiempo en redesde difracción holográficas”, Óptica Pura y Aplicada, 42(3), 139 - 145, 2009.

Comunicaciones y ponencias en congresos

Francés, J., Bleda, S., Gallego, S., Neipp, C., Márquez, A., Pascual, I., Belén-dez, A., “Efecto de la resolución espacial en el análisis numérico de redes dedifracción holográficas,”Reunión Bienal de la Real Sociedad de Física, 21o En-cuentro Ibérico para la Ensañanza de la Física, 19-23 Septiembre 2011, San-tander (España).

Francés, J., Bleda, S., Gallego, S., Neipp, C., Márquez, A., Pascual, I., Belén-dez, A. “Analysis of the diffraction efficiency of reflection and transmissionholographic gratings by means of a parallel FDTD approach,” SPIE OpticalSystems Design, 5 - 8 Septiembre 2011, Marseille (Francia).

Francés, J., Bleda, S., Gallego, S., Neipp, C., Márquez, A., Pascual, I., Belén-dez, A. “Development of an unifed FDTD-FEM library for electromagneticanalysis with CPU and GPU computing,” Proceedings of the 11th Internation-al Conference on Computational and Mathematical Methods in Science andEngineering, CMMSE 2011, 26 - 30 Junio 2011, Benidorm (España).

Francés, J., Neipp, C., Pérez-Molina, M., Bleda, S., Beléndez, A., “Interfer-ence and diffraction analysis of holographic gratings using the Finite-DifferenceTime-Domain method,” 2nd International Conference On Engineering Opti-mization, 6-9 Septiembre 2010, Lisboa (Portugal) .

Francés, J., Neipp, C., Pérez-Molina, M., Álvarez, M. L., Beléndez, A. “Simu-lación de redes de difracción de apertura mediante el método de las diferenciasfinitas en el dominio del tiempo,” IX Reunión Nacional de Óptica, 14-17 Sep-tiembre 2009, Ourense (España).

*Revistas indexadas en la base de datos JCR de Science Edition.

Page 48: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

16 CAPÍTULO 1. INTRODUCCIÓN

Francés, J., Pérez-Molina, M., Fernández, E., Neipp, C., “Development of soft-ware for interference and optical diffraction analysis based on FDTD”, 2009International Conference on Enigineering and Mathematics.

Francés, J., Neipp, C., Pérez-Molina, M., Álvarez, M. L., Beléndez, A., “ Apli-cación del algoritmo DFDT en redes de difracción holográficas”, VI ReuniónEspañola de Optoelectrónica,15-17 Mayo 2009, Málaga (España).

Page 49: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Bibliografía

[1] J. C. Maxwell. A Dynamical Theory of the Electromagnetic Field. PhilosophicalTransactions of the Royal Society of London, 155:459–512, dec 1865.

[2] P. Yeh. Optical Waves in Layered Media. Wiley-Interscience, 2005.

[3] B. Salski, M. Celuch, y W. K. Gwarek. FDTD for Nanoscale and OpticalProblems. IEEE Microwave Magazine, 11(2):50–59, 2010.

[4] A. Yariv y P. Yeh. Optical Waves in Crystals: Propagacion and Control of LaserRadiation. Wiley-Interscience, 2003.

[5] T. Cao, M. J. Cryan, Y.-L. D. Ho, I. J. Craddock, y C. J. Railton. Fast-ligthbased pulse compression in 2-d photonic crystal waveguides. IEEE/OSA J.Lightwave Technolo., 25(9):2590–2598, 2007.

[6] S. Fan, P. R. Villeneuve, J. D. Joannopoulos, M. J. Khan, C. Manolatou, y H. AHaus. Theoretical analysis of channel drop tunneling processes. Phys. Rev. B,59(24):15882–15892, 1999.

[7] Y. Shi, D. Dai, y S He. Proposal for an ultracompact polarization-beam split-ter based on a photonic-crystal-assisted multimode interference coupler. IEEEPhoton. Technol. Lett., 19(11):825–827, 2007.

[8] O. Burmeister, M. Britzger, A Thüring, D. Friedrich, F. Brückner, K. Danz-mann, y R. Schnabel. All-reflective coupling of two optical cavities with 3-portdiffraction gratings. Opt. Express, 18(9):9119–9132, Apr 2010.

[9] T. Clausnitzer, E.-B. Kley, A. Tünnermann, A. Bunkowski, O. Burmeister,K. Danzmann, R. Schnabel, S. Gliech, y A. Duparré. Ultra low-loss low-efficiencydiffraction gratings. Opt. Express, 13(12):4370–4378, Jun 2005.

[10] T. W. Stone. Selected Papers on Holographic and diffractive lenses and mirrors,volumen MS 34. SPIE Milestone Series, 1991.

Page 50: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

18 BIBLIOGRAFÍA

[11] A. K. Richter y F. P. Carlson. Holographically generated lens. Applied Optics,13:2924–2930, 1974.

[12] J. R. Magariños y F. P. Coleman. Holographic mirrors. Optical Engineering,24:769–780, 1985.

[13] S. Tibuleac, D. Wawro, y R. Magnuson. Resonant diffractive structures in-tegrating waveguide-gratings on optical fiber endfaces. volumen 1, page 874,1999.

[14] R. Esteban, M. Laroche, y J. J. Greffet. Dielectric gratings for wide-angle,broadband absorption by thin film photovoltaic cells. Applied Physics Letters,97(22):22111, 1999.

[15] M. A. Hembrecht. Optical coatings for mems devices. volumen 1, 2010.

[16] E. Denton. Refletors in fishes. Sci. Am., 1(224):64–72, 1971.

[17] D. Gabor. A new microscope principle. Nature, 161:777–778, 1948.

[18] C. Fabry y A. Perot. Théorie et applications d’une nouvelle méthode de spec-troscopie interférentielle. Ann. Chim. Phys., 16:869–872, 1899.

[19] F. Shen y A. Wang. Fast-fourier-transform based numerical integration methodfor the Rayleigh-Sommerfeld diffraction formula. Appl. Opt., 45(6):1102–1110,Feb 2006.

[20] G.Ñ. Lawrence y S.-H. Hwang. Beam propagation in gradient refractive-indexmedia. Appl. Opt., 31(25):5201–5210, Sep 1992.

[21] A. D. Papadopoulos y E.Ñ. Glytsis. Finite-difference-time-domain analysis offinite-number-of-periods holographic and surface-relief gratings. Appl. Opt., 47(12):1981–1994, Apr 2008.

[22] C. M. Dissanayake, M. Premaratne, I. D. Rukhlenko, y G. P. Agrawal. Fdtdmodeling of anisotropic nonlinear optical phenomena in silicon waveguides. Opt.Express, 18(20):21427–21448, Sep 2010.

[23] D. M. H. Leung, B. M. A. Rahman, y K. T. V. Grattan. Numerical Analysisof Asymmetric Silicon Nanowire Waveguide as Compact Polarization Rotator.IEEE Photonics Journal, 3(3):381–389, 2011.

[24] A. Taflove. Computational Electrodynamics: The Finite-Difference Time-Domain Mehtod. Artech House Publishers, 1995.

Page 51: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

BIBLIOGRAFÍA 19

[25] M. Clemens y T. Wiland. Discrete Electromagnetism with the Finite Inte-gration Technique. En Proc. Progress. in Electromagnetics Research, PIERS,volumen 32, pages 65–87, 2001.

[26] C. Christopoulos. The Transmission-Line Modeling Method in Electromagnetics.CA: Morgan and Claypool, primera edición, 2006.

[27] L. Volakis, A. Chatterjee, y L. C. Kempel. Finite Element Methods for Electro-magnetics with Applications to Antennas, Microwave Circuits and Scattering.New York: IEEE Press, 1998.

[28] I. Munteanu, M. Timm, y T. Weiland. It’s About Time. IEEE MicrowaveMagazine, 11(2):60–69, 2010.

[29] G. E. Moore. Progress in digital integrated electronics. pages 11–13, 1975.

[30] H. Sutter y J. Larus. Software and the concurrency revolution. ACM Queue, 3(7):54–62, 2005.

[31] D. B. Kirk y W-M. W. Hwu. Programming Massively Parallel Processsors: AHands-on Approach. Morgan Kaufmann, 2010.

Page 52: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

20 BIBLIOGRAFÍA

Page 53: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 2

Teoría diferencial clásica enmedios periódicos

A lo largo de este capítulo se van a introducir los conceptos básicos de los métodosutilizados para el análisis de los dispositivos ópticos contemplados en este trabajo.

2.1. Teoría de ondas acopladas

El análisis de la difración en RDH puede afrontarse en una primera aproximaciónmediante la TOA desarrollada por Kogelnik en sus trabajos [1, 2]. La TOA asume luzmonocromática incidiendo en la red de difracción cerca del ángulo de Bragg. Tambiénse asumen únicamente dos ondas, la onda de referencia R y la onda difractada S.El resto de órdenes no son tomados en consideración ya que fuera del ángulo deBragg dichos órdenes presentan una fuerte atenuación. La Figura 2.1 muestra unesquema de una red holográfica que sirve de referencia para el análisis que se realizaen esta sección, donde se ilustra el eje z perpendicular al medio y el eje x en elplano de incidencia y paralelo a la red. Las franjas de interferencia en el mediopresentan un ángulo respecto al eje z identificado como φ. El vector de red K estáorientado perpendicularmente a los planos de interferencia y su módulo se definecomo K = 2π/Λ, donde Λ es el período de red. El ángulo de incidencia en el mediose identifica como θ.

La propagación de ondas en el interior de la red se puede modelar a partir de la

Page 54: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

22 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

RS

Λ

θ

φ

Κ

d

z

x

Ε

Η

Figura 2.1: Esquema de una red de difracción holográfica, donde con escala de gris se harepresentado la variación de la permitividad relativa.

ecuación de Helmholtz:

∇2E(x, y) + k(x, y)2E(x, y) = 0, (2.1)

donde E(x, y) es la amplitud compleja de la componente y del campo eléctrico,la cual se asume independiente de dicha coordenada y con una frecuencia de os-cilación ω. Si definimos el plano de incidencia como el formado por el vector depropagación de la onda incidente y la normal exterior al medio, el campo eléctricosería perpendicular a dicho plano mientras que el campo magnético estaría definidoen un plano paralelo al de incidencia. Esta configuración se conoce como incidenciacon polarización Transversal Eléctrico (TE) [3]. La constante de propagación k estámodulada espacialmente en función de la constante de permitividad relativa εr y laconductividad σ del medio como

k2 =ω2

c20

εr − jωµσ, (2.2)

donde c0 es la velocidad de propagación de la luz en el vacío y µ es la permeabilidadmagnética del medio considerada igual a la del vacío µ0 como 4π·10−7 H/m.

Page 55: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.1 Teoría de ondas acopladas 23

El patrón de interferencia induce en el material una variación espacial en ε y σdel tipo:

εr = εr0 + ∆ε cos (K · x) , (2.3)σ = σ0 + ∆σ cos (K · x) , (2.4)

donde ∆ε y ∆σ son las amplitudes de la modulación espacial, εr0 es la constantedieléctrica promedio relativa y σ0 es la conductividad promedio. Para simplificar lanotación se ha recurrido a la siguiente formulación:

x =

xyz

; K = K

sinφ0

cosφ

; K = 2π/Λ. (2.5)

La expresión (2.2) puede reformularse teniendo en cuenta las ecuaciones (2.3)y (2.4).

k2 = β2 − 2jαβ + 2κβ(ejK·x + e−jK·x)

, (2.6)

donde se han introducido las constantes de propagación promedio β y de absorciónpromedio α:

β = 2πn0/λ; α = µc0σ0/(2n0), (2.7)

donde n0 es el índice de refracción promedio dentro de la red y la constante deacoplamiento κ se ha definido como

κ =14

(2π

λ∆ε/n0 − jµc0∆σ/n0

), (2.8)

siendo λ0 la longitud de onda en espacio libre.

La constante κ describe el grado de acoplamiento entre la onda de referencia R yla onda difractada S, y por lo tanto es uno de los parámetros más relevantes dentrode la TOA. Es fácil identificar que para κ = 0 no existe difracción ya que no hayacoplamiento entre R y S.

También se considera que la absorción por longitud de onda y las variacionesrelativas del índice de refracción son pequeñas, y que:

2πn0/λ0 À α; 2πn0/λ0 À ∆α; n0 À ∆n. (2.9)

donde ∆α es la variación espacial del constante de absorción. Teniendo en cuentaestos factores, la constante de acoplamiento se puede redefinir como:

κ = π∆n/λ0 − j∆α/2. (2.10)

Page 56: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

24 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

El campo eléctrico total puede definirse como la superposición de dos ondas complejasR y S, las cuales intercambian energía entre sí en función de los parámetros demodulación de la red: ∆n y ∆α.

E = R(z)e−jρ·x + S(z)e−jς ·x. (2.11)

En este caso los vectores de propagación ρ y ς contienen la información sobrelas constantes de propagación y las direcciones de las ondas R y S. El vector ρ esel vector de propagación de la onda de referencia R y ς está definido por la red dedifracción y se relación con K de la forma:

ς = ρ−K =

σx

0σz

= β

sin θ − Kβ sinφ

0cos θ − K

β cosφ

. (2.12)

La relación (2.12) se ilustra en la Figura 2.2 a partir de un conjunto de diagramasvectoriales para los casos φ = 0o y φ = 90o. Ambos casos son los casos particularesen los que la imagen reconstruida se produce por reflexión o por transmisión respec-tivamente.

Una vez llegados a este punto, estamos en disposición de obtener las ecuacionesdiferenciales acopladas. Para ello combinamos las Ecuaciones (2.1) y (2.2) teniendoen cuenta las relaciones (2.11) y (2.12):

∂2R

∂z2− 2j

∂R

∂zρz − 2jαβR + 2κβS = 0, (2.13)

∂2S

∂z2− 2j

∂S

∂zσz − 2jαβS + (β2 − σ2)S + 2κβR = 0. (2.14)

Si se considera que el intercambio de energía se realiza entre S y R, que laabsorción del medio es pequeña y que en ambos casos la velocidad de ambos procesoses lenta, las segundas derivadas pueden despreciarse y se pueden deducir de manerasencilla las siguientes igualdades:

cR∂R

∂z+ αR = −jκS, (2.15)

cS∂S

∂z+ (α + jζ)S = −jκR. (2.16)

En función de la relación existente entre el valor del periodo de la red Λ (distanciaentre los planos en los que las propiedades del material toman un mismo valor) y el

Page 57: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.1 Teoría de ondas acopladas 25

R S

Λ

d

S

R

d

Λ

β

R

S

K

θz

β

RSK

θz

Red de transmisión Red de reflexión

Figura 2.2: Esquema y diagrama vectorial asociado para una red de difracción de trans-misión (izquierda) y de reflexión (derecha).

espesor d del material en el que se registra esta red, se distingue entre hologramasdelgados y hologramas de volumen. El parámetro Q, denominado de Klein-Cook [2]proporciona una medida del grosor de la red a partir de la siguiente expresión:

Q =2πλd

n0Λ2, (2.17)

donde n0 es el índice de refracción promedio (relacionado directamente con la con-stante dieléctrica de la forma n2 = εr). Valores de Q < 1 se corresponden con redesdelgadas, mientras que valores de Q > 1 se corresponden con redes gruesas [4]. Eneste trabajo nos centraremos en las redes de difracción de volumen, más concreta-mente los valores de Q en las redes simuladas serán mayores a 10. Este parámetrodefine el régimen de Bragg (red de volumen) para Q >> 10, para el cual esta teoríaproporciona buenos resultados [1].

Las ecuaciones (2.15) y (2.16) se conocen como las ecuaciones de ondas acopladas

Page 58: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

26 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

que son la base de la TOA. Los términos cR y cS se definen como:

cR = ρz/β = cos θ, (2.18)

cS = σz/β = cos θ − K

βcosφ. (2.19)

El término ζ indica la desviación del ángulo de incidencia respecto al ángulo de Braggde la forma:

ζ = ∆θ ·K sin (φ− θB)−∆λ ·K2/4πn0, (2.20)

donde ∆θ y ∆λ representan las desviaciones en términos de ángulo de incidencia y delongitud de onda para el caso de incidencia próxima al ángulo de Bragg θB definidocomo:

cos (φ− θB) =K

2n0k0=

λ0

2n0Λ. (2.21)

Finalmente, la solución de las ecuaciones acopladas puede obtenerse para el casoconcreto de redes de transmisión y redes de reflexión. En concreto se asumirá enambos casos redes de fase donde las constantes de pérdidas sean nulas α0 = ∆α = 0y que en todos los casos se cumple que Q >> 10 (redes de volumen), por lo que parael caso concreto de redes por transmisión:

S(d) = −j

(cR

cS

)1/2

e−jχ sin(ν2 + χ2

)1/2/

(1 + χ2/ν2

)1/2, (2.22)

ν = π∆nd/λ(cRcS)1/2, (2.23)χ = ζd/2cS . (2.24)

La expresión asociada para la eficiencia en difracción viene dada por la siguienteigualdad:

η =|cS |cR

SS∗ = sin2(ν2 + χ2

)/

(1 + χ2/ν2

). (2.25)

En la Figura 2.3 se muestran diferentes curvas para la eficiencia en difracción enfunción del parámetro χ. Puede verse que para el caso de incidencia en ángulo deBragg (ν = π/2), la eficiencia en difracción es máxima. A medida que el ángulo deincidencia se aleja del de Bragg se aprecia una relación inversamente proporcionalentre el ancho del lóbulo principal y la amplitud del lóbulo secundario. Es fácildeducir a partir de la expresión (2.25) que para incidencia en ángulo de Bragg, laeficiencia en difracción es del tipo:

η = |S(d)|2 = sin2 ν. (2.26)

Respecto al caso de redes de reflexión se pueden obtener un conjunto similar alas obtenidas para el caso de transmisión:

Page 59: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.1 Teoría de ondas acopladas 27

0 2 4 6 80

0.2

0.4

0.6

0.8

1

χ (rad)

ην=π/2

ν=π/4

ν=3π/4

Figura 2.3: Selectividad angular y de longitud de onda para redes holográficas de trans-misión a partir del rendimiento en difracción η en función del parámetro χ, el cual mide ladesviación respecto al ángulo de Bragg. Se han considerado tres valores para el parámetroν [1].

S =(

cR

cS

)1/2 [jχ/ν + (1− χ2/ν2)1/2 · coth(ν2 − χ2)1/2

]−1, (2.27)

ν = jπ∆nd/λ(cRcS)1/2, (2.28)χ = −ζd/2cS . (2.29)

La eficiencia en difracción para este tipo de redes viene dada por la siguienteexpresión:

η =|cS |cR

SS∗ = 1/[1 + (1− χ2/ν2)/ sinh2

(ν2 − χ2

)1/2]. (2.30)

Y de manera similar, la Figura 2.4 muestra la eficiencia en difracción para redesen reflexión para diferentes valores del parámetro ν en función de χ. En este caso laselectividad se ensancha a medida que aumenta ν. La ecuación 2.30 puede reducirsea la siguiente igualdad para ángulo de incidencia igual al de Bragg:

η = |S(d)|2 = tanh2 (π∆nd/λ0 cos θB) . (2.31)

Page 60: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

28 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

0 2 4 6 80

0.2

0.4

0.6

0.8

1

χ (rad)

ην=π/2 ν=3π/2

ν=π/4

Figura 2.4: Selectividad angular y de longitud de onda para redes holográficas de reflexióna partir del rendimiento en difracción η en función del parámetro χ, el cual mide la desviaciónrespecto al ángulo de Bragg. Se han considerado tres valores para el parámetro ν [1].

2.2. Teoría rigurosa de ondas acopladas

La TOA sige en vigor y es utilizada en muchos estudios y trabajos en la actua-lidad, aunque adolece de ciertas imprecisiones debido a las aproximación e hipótesisque la definen. Algunas de estas hipótesis se basan en despreciar los efectos de ladifracción en los bordes y considera nulas las segundas derivadas de las amplitudesde los campos y únicamente considera un orden difractado y transmitido.

La TROA analiza la difracción producida por una onda plana electromagnéticaincidente a una red de difracción con ángulo arbitrario de incidencia y que estásituada entre el medio I y el medio III, tal y como se ilustra en la Figura 2.5. Esteformalismo puede aplicarse en los siguientes casos [5–7]:

Redes de difracción holográficas en aire o cualquier otro medio (εI = εIII 6=εII).

Redes acústico-ópticas (εI = εIII = εII).

Redes de acoplamiento utilizadas en óptica integrada (εI 6= εII 6= εIII 6= εI).

Tal y como se aprecia en la Figuras 2.1 y 2.5, el problema bajo estudio se basaen el análisis de una onda plana en incidencia oblicua con polarización TE, sobreun medio dieléctrico periódico y para este caso, sin pérdidas. La variación del índice

Page 61: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.2 Teoría rigurosa de ondas acopladas 29

R

Λ

θ

φ

Κ

d

z

x

Ε

Η

Medio II

εΙΙ

Medio III

εΙΙΙ

Medio I

εΙ

Ondas difractadas

transmitidas

Ondas difractadas

reflejadas

0

-2

4

-1

0

1

2

3

-1

-2

1

Figura 2.5: Geometría de una red de difracción holográfica que contempla los diferentesórdenes difractados y transmitidos [5].

de permitividad dieléctrica relativa en el medio II puede reformularse de manerasencilla a partir de las expresiones (2.3) y las relaciones en (2.5) de la siguienteforma:

εII(x, z) = εr0 + ∆ε cos [K (x sinφ + z cosφ)] . (2.32)

Los valores de la constante dieléctrica en los medios I y III toman los valores de εI

y εIII respectivamente.

El problema reside en encontrar la solución de la ecuación de onda (2.1) en cadauna de las tres regiones para aplicar las condiciones de contorno relacionadas con lacontinuidad del campo eléctrico y magnético tangencial en las dos interfases (z = 0y z = d) que permitan resolver el sistema de ecuaciones planteado. En la región Ise localizan las ondas reflejadas, y que por lo tanto se propagan en dirección −zjunto con la onda incidente. Estas ondas se producen por la difracción generada enel interior de la red de difracción (bulk diffraction) y por la propia discontinuidadpresente en z = 0 (boundary diffraction). Estos dos procesos producen en espectrode ondas que viajan hacia el interior de la región I (z < 0) que pueden expresarse a

Page 62: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

30 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

partir de la siguiente expresión:

EI = e−j[(kx0x+kIz0z)] +

∑n

Rne−j[(kxnx−kIznz)], (2.33)

donde kxn = kI sin θ − nK sinφ siendo n un entero que identifica el número deorden, kl

zn =√

k2l − k2

xn con l = I, III que identifica el medio y kl = 2πnl/λ0

con l = I, II, III. Para el caso particular del medio I, kIzn =

√k2

I − k2xn y kI =

2πnI/λ0, con nI definiendo el índice de refracción en dicho medio. Los términos Rn

se corresponden con la amplitud normalizada del modo n-ésimo reflejado, y forma elconjunto de variables que deben obtenerse a partir de la aplicación de las condicionesde contorno de los campos.

Respecto a la región III (z > d) el espectro de ondas transmitidas puede definirsede la siguiente forma:

EIII =∑n

Tne−j[kxnx+kIIIzn (z−d)], (2.34)

donde kIIIzn = kl

zn con l = III, por lo que kIIIzn =

√k2

III − k2xn y se relaciona con el

medio III a partir del número de onda kIII = 2πnIII/λ0, siendo nIII el índice derefracción para el medio III. De forma similar, las amplitudes normalizadas Tn secorresponden con las incógnitas a resolver a partir de las condiciones de contorno enla interfase entre los medios II y III.

En la región periódica (II) el campo eléctrico puede definirse a partir de lasiguiente serie infinita:

EII =∑

n

Sn(z)e−jkxnx. (2.35)

Por otro lado, el número de onda puede desarrollarse en armónicos de Fourier dela siguiente forma:

k2 =∞∑

n=−∞k2

nejnKx. (2.36)

Por lo que sustituyendo la expresión (2.34) en (2.1) considerando la relación(2.36)

∞∑n=−∞

∂2Sn(z)∂z2

e−jkxnx −∞∑

n=−∞k2

xnSn(z)e−jkxnx + (2.37)

∞∑m=−∞

∞∑p=−∞

k2mSp(z)e−j[(kkp−mK)x] = 0, (2.38)

Page 63: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.2 Teoría rigurosa de ondas acopladas 31

donde a partir de un cambio de variable y simplificando términos se puede llegar ala siguiente ecuación que modela el acoplamiento entre diferentes órdenes y que esla base de la TROA:

∂2Sn(z)∂z2

− k2xnSn(z) +

∞∑p=−∞

k2n−pSp(z) = 0. (2.39)

La ecuación (2.39) puede reformularse en forma matricial tal y como sigue:

S′′ = [Kx2 − K]S, (2.40)

donde S′′ y S son vectores de 2N + 1 filas, y la prima denota la derivada respectola coordenada z. La matriz Kx es una matriz diagonal con los valores de kxn y lamatriz K son las componentes de Fourier de la expresión (2.36) y que se sitúanen la diagonal y adyacentes a la misma. Para el caso de redes de difracción conpatrón sinusoidal, únicamente tendríamos dos coeficientes alrededor de la diagonal yel término de continua, mientras que para perfiles más complejos, se podrían tomarhasta p coeficientes.

A continuación se particulariza la expresión (2.39) para el caso de una red dedifracción holográfica con variación de la permitividad de tipo sinusoidal y sin incli-nación φ = 0:

∂2Sn(z)∂z2

− k2xnSn(z) + k2

0

(∆ε

2Sn−1(z) + εr0Sn(z) +

∆ε

2Sn+1(z)

)= 0. (2.41)

De manera sencilla se pueden identificar los términos de las matrices Kx y K:

Kx =

kxN 0 · · · · · · 0

0. . . 0 · · · ...

... · · · kx0 · · · ...

... · · · 0. . . 0

0 · · · · · · 0 kx(−N)

, (2.42)

K = k20

εr0 ∆ε/2 0 · · · · · · 0∆ε/2 εr0 ∆ε/2 0 · · · · · ·

0 ∆ε/2 εr0 ∆ε/2 0 · · ·... · · · 0 ∆ε/2 εr0 ∆ε/2... · · · · · · 0 ∆ε/2 εr0

. (2.43)

Page 64: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

32 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

El sistema de ecuaciones diferenciales planteado en (2.40) puede resolverse demanera directa en términos de los autovalores y autovectores de la matriz Kx

2− K.

Si(u) =∑m

Cmwimeqmu, (2.44)

donde u = jπ∆εz/2λ0∆n, qm son los autovalores y wim es el elemento m-ésimo de lafila de matriz de autovectores. A continuación se aplican las condiciones de contornoque se basan en la continuidad de las componentes tangenciales del campo eléctricoy magnético en los planos z = 0 y z = d. Para el caso concreto de z = 0, tenemos elsiguiente par de relaciones:

Ri + δi0 =∑m

Cmwim, (2.45)

kIzi(Ri − δi0) =

∑m

Cmwim(qmκ− kIIzi ), (2.46)

para z = d:

Ti =∑m

Cmwimej(qmκ−kIIz )d, (2.47)

−kIIIz Ti =

∑m

Cmwim(qmκ− kIIzi )e

j(qmκ−kIIzi )d, (2.48)

donde δi0 la la delta del Kronecker, definida como:

δi0 =

1 i = 00 i 6= 0

(2.49)

Se puede eliminar Ti y Ri de estas ecuaciones y obtener la siguiente igualdad:

2δi0kIzi =

∑m

Cmwim(kIIzi − qmκ + kI

zi), (2.50)

0 =∑m

Cmwim(kIIzi − qmκ− kIII

zi )ejqmκ. (2.51)

El sistema lineal de ecuaciones formado por las ecuaciones (2.50) y (2.51) permiteresolver las incógnitas Cm y posteriormente las amplitudes de los órdenes difractadosRi y Ti a partir de las ecuaciones (2.46) y (2.47).

Finalmente las eficiencias en difracción pueden calcularse a partir de las siguientesexpresiones:

DEIi = <

kI

zi

kIIIz0

RiR

∗i , (2.52)

DEIIIi = <

kIII

zi

kIIIz0

TiT

∗i , (2.53)

Page 65: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.3 Método matricial basado en las funciones de Mathieu 33

donde < denota la parte real.

2.3. Método matricial basado en las funcionesde Mathieu

El análisis teórico de redes de difracción inclinadas necesita de formalismos aña-didos a los vistos hasta el momento debido a que la TOA y la TROA son válidaspara cualquier ángulo de incidencia θ y para ángulos de inclinación de las franjas deinterferencia distinto a cero (φ 6= 0). Para este caso concreto, las franjas de interfer-encia son paralelas al plano de incidencia, constituyendo lo que se conoce como unared de difracción holográfica de reflexión pura. En este tipo de configuraciones, lamodulación no es periódica de manera rigurosa ya que en la red hay número finito deperíodos, por lo que las expresiones (2.33)-(2.35) no son válidas ya que son deduci-das a partir del teorema de Floquet [6], el cual es válido para estructuras periódicasinfinitas. Aun así, según detalla Moharam y Gaylord el análisis con la TROA deredes de reflexión puede llevarse a cabo considerando un ángulo de inclinación delvector de red (φ = δ), siendo δ un valor muy pequeño. A medida que φ tiende a cero,tanto las ondas reflejadas en el medio I y las transmitidas en el medio III tienden asuperponerse ya que presentan prácticamente el mismo vector de onda kxi ≈ k1 sin θ

y klzi ≈

√(2πnlλ0)

2 − k2xi con l = I, III. Por ello, es necesario recurrir a otros for-

malismos que modelen de una manera más precisa el comportamiento de este tipode dispositivos.

Recientemente, Carretero et al en su trabajo publicado en 2006 [8], aplican unmétodo matricial para evaluar la transmitancia para el caso unidimensional de unared de difracción en reflexión en incidencia normal. Este tipo de métodos se hanutilizado con anterioridad en medios estratificados y básicamente la idea se basaen definir una matriz que caracterice el medio y que relacione las componentes delcampo magnético de ambos extremos de la capa. La adición de capas puede modelarsepor una simple multiplicación de matrices elementales. En nuestro caso particular,el método se aplica al análisis del campo electromagnético en redes de difracciónholográficas no inclinadas para cualquier ángulo de incidencia. Para ello, se calculala matriz que caracteriza este tipo de redes a partir de dos soluciones particulares dela ecuación de Helmholtz [9].

De la misma manera que para el caso de la TOA y la TROA partimos del análisisde una red holográfica con variación sinusoidal no inclinada, por lo que la variaciónen el medio se define a partir de expresión (2.3) teniendo únicamente en cuenta ladependencia respecto al eje z.

Page 66: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

34 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

La geometría del problema se ilustra en la Figura 2.5 para el caso de φ = 0 y demanera similar que para el caso de la TROA, para polarización TE los campos enlos medios I y III se definen tal y como sigue:

EI =[exp(jkI

zz) + R exp(−kIzz)

]exp(j(kxx− ωt)), (2.54)

EIII = T exp(jkIIIz z) exp(j(kxx− ωt)), (2.55)

donde kx es la componente en el eje x del vector de onda;

kx = nIk0 sin θI = nIIIk0 sin θIII , (2.56)

donde θI and θIII son los ángulos que forman la normal de los planos de incidenciade la red de difracción y los vectores de onda en los medios I y III respectivamente.De manera sencilla se puede identificar la siguiente relación para las componentes enz del vector de onda:

kIz = nIk0 cos θI , (2.57)

kIIIz = nIIIk0 cos θIII . (2.58)

Sin embargo, en el interior de la red (medio II) el campo puede definirse a partirde la siguiente expresión:

EII = E(z) exp[i(kxx− ωt)]. (2.59)

2.3.1. Formación de la matriz

En el interior del medio periódico, E(z) verifica la siguiente ecuación diferencialde segundo orden:

d2Edz2

+(k2

0ε(z)− k2x

)E = 0. (2.60)

Supongamos las soluciones de la ecuación (2.60) Ec1 , Ec2 linealmente independientes.Suponiendo para este caso que el medio se extiende desde z = z1 to z = z2, la matrizde capa M puede definirse siguiendo el razonamiento propuesto por Lekner [9], el cualrelaciona los campos y sus derivadas en ambos extremos (definidos por la coordenadaz) de la siguiente forma:

(E(z2)ddzE(z2)

)= M

(E(z1)ddzE(z1)

), (2.61)

o (E(z2)ddzE(z2)

)=

(m11 m12

m21 m22

)(E(z1)ddzE(z1)

), (2.62)

Page 67: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.3 Método matricial basado en las funciones de Mathieu 35

donde M tiene la forma de:

M = W−1

( − (ddzEc1 , Ec2

)(Ec1 , Ec2)

− (ddzEc1 ,

ddzEc2

) (Ec1 ,

ddzEc2

))

, (2.63)

W = Ec1

ddz

Ec2 − Ec2

ddz

Ec1 . (2.64)

siendo W el Wronskiano de dos soluciones independientes, el cual es constante.Además si se considera que la matriz de capa M es unimodular y las siguientesrelaciones:

(Ec1 , Ec2) = Ec1(z1)Ec2(z2)−Ec2(z1)Ec1(z2), (2.65)(ddz

Ec1 , Ec2

)= Ec2(z2)

ddz

Ec1(z1)− Ec1(z2)ddz

Ec2(z1), (2.66)(

Ec1 ,ddz

Ec2

)= Ec1(z1)

ddz

Ec2(z2)− Ec2(z1)ddz

Ec1(z2), (2.67)(

ddz

Ec1 ,ddz

Ec2

)=

ddz

Ec1(z1)ddz

Ec2(z2)− ddz

Ec2(z1)ddz

Ec1(z2), (2.68)

la matriz de capa M que caracteriza la red de difracción no inclinada, puede cons-truirse a partir de las dos soluciones independientes de la ecuación (2.60) y teniendoen cuenta las relaciones (2.63) y (2.64)-(2.68).

2.3.2. Solución en términos de las funciones de Mathieu

Para obtener el conjunto de dos soluciones linealmente independientes de laecuación (2.60), se puede deducir de manera sencilla que a partir de transforma-ciones sencillas puede obtenerse la ecuación de Mathieu [10]:

d2

duE + [a− 2q cos (2u)]E = 0, (2.69)

teniendo en cuenta los siguientes cambios de variable:

u =Kz

2, (2.70)

a =4

K2

(k2

0εr0 − k2x

), (2.71)

q = − 2K2

k20εr1 . (2.72)

Las dos soluciones linealmente independientes de la ecuación (2.69) están definidaspor las funciones coseno y seno de Mathieu, como Cm(a, q, u) y Sm(a, q, u) respecti-vamente. En la Figura 2.6 se representan ambas funciones en función del parámetrou y para q = 1.

Page 68: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

36 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

Cm(a, q, 0) = 1 ; ddzCm(a, q, 0) = 0,

Sm(a, q, 0) = 0 ; ddzSm(a, q, 0) = 1.

(2.73)

0 10 20 30 40 50 60 70 80 90-1.5

-1

-0.5

0

0.5

1

1.5

u

Cm

0 10 20 30 40 50 60 70 80 90-1.5

-1

-0.5

0

0.5

1

1.5

u

Sm

a=0 a=2

a=3

a=4

a=5

a=1a=2

a=3a=4

a=5

(a)

(b)

a=1

Figura 2.6: Funciones de Mathieu Cm y Sm para q = 1, en función del parámetro a definidopor la ecuación (2.73). (a) Funciones par. (b) Funciones impar.

Por lo tanto cualquier solución de la ecuación (2.60) puede expresarse en términosde las funciones de Mathieu:

E(z) = ACm(a, q, Kz/2) + BSm(a, q, Kz/2), (2.74)

donde A y B son constantes arbitrarias. Llegado a esto punto se puede redefinir lamatriz M presente en la ecuación (2.60) en términos de:

Ec1 = Cm(a, q, Kz/2), (2.75)Ec2 = Sm(a, q,Kz/2). (2.76)

Page 69: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.3 Método matricial basado en las funciones de Mathieu 37

2.3.3. Condiciones de contorno

Para el caso particular de una red de difracción en reflexión de espesor d, los val-ores de reflectancia y transmitancia pueden obtenerse a partir de las relaciones (2.62),(2.54) and (2.55), con z1 = 0 y z2 = d.

(T exp(ikII

z d)jkII

z T exp(ikIIz d)

)= M

(1 + R

jkIz [1−R]

). (2.77)

De esta manera las amplitudes de los órdenes reflejados y transmitidos pueden cal-cularse a partir de las siguientes expresiones:

R =kI

zkIIz m12 + m21 + ikI

zm22 − ikIIz m11

kIzk

IIz m12 −m21 + ikI

zm22 − ikIIz m11

, (2.78)

T = exp(−ikIIz d)

2ikIz

kIzk

IIz m12 −m21 + ikI

zm22 − ikIIz m11

(2.79)

Finalmente, la eficiencia del orden reflejado DE−1 puede calcularse como:

DE−1 = |R|2, (2.80)

y la eficiencia del transmitido como:

DE0 = <[kII

z

kIz

]|T |2. (2.81)

2.3.4. Estructura de bandas

En esta sección se va a detallar el razonamiento que muestra como el análisis deun único período de la red proporciona información suficiente de la estructura global.

Para ello, redefinimos la matriz M como la matriz de capa de un único período, lacual se define a partir de la ecuación (2.63) particularizada para z1 = 0 y z2 = Λ. Yaque una red de reflexión se constituye con un número finito de períodos, por ejemploN , la estructura global puede definirse a partir de la N -ésima potencia de M. Parael caso de una matriz unimodular se verifica la siguiente relación [11]:

MT =(

m11 m12

m21 m22

)N

=(

m11SN − SN−1 m12SN

m21SN m22SN − SN−1

), (2.82)

dondeSN =

sin(Nφ)sin(φ)

, (2.83)

Page 70: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

38 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

y

cosφ =12

(m11 + m22) . (2.84)

En consecuencia, las eficiencias de los órdenes transmitido y el reflejado puedenobtenerse siguiendo el mismo procedimiento detallado en la sección 2.3.3, sustituyen-do la matriz M por la matriz MT de la ecuación (2.82). Este procedimiento nosproporciona una alternativa robusta para el cálculo de las eficiencias de redes dedifracción holográficas de reflexión no inclinadas.

De manera sencilla, se puede realizar un análisis de la estructura de bandas deeste tipo de redes a partir de la información de un único período, a partir de sumatriz de capa, tal y como se detalla en el trabajo de Lekner. Tal y como se detallaen dicho trabajo [9] el factor de block β puede determinarse a partir de la condición

det (M− βI) = 0. (2.85)

Considerando trM = 2 cosφ, la ecuación (2.84), y det(M) = 1:

β± = cosφ± (cos2 φ− 1

)1/2. (2.86)

Los límites de las bandas están definidos por cos2 φ = 1, mientras que la desigual-dad cos2 φ > 1 proporciona las bandas gap de la red de difracción. En consecuencia,la condición trM = ±2 delimita los extremos de la banda.

Para nuestro caso en particular:

trM =1W

[−

(dEc1

dz,Ec2

)+

(Ec1,

dEc2

dz

)], (2.87)

donde Ec1 y Ec2 se detallan en las ecuaciones (2.75) y (2.76).

Considerando una modulación de índice pequeña (∆ε ∼ 0), en (2.72) podemosaproximar q a cero. Para este caso [12]:

Ec1 = Cm(a, q, Kz/2) ≈ cos(√

aKz/2), (2.88)

Ec2 = Sm(a, q, Kz/2) ≈ sin(√

aKz/2). (2.89)

Por lo que evaluando la traza de M en el intervalo [0,Λ]:(

dEc1

dz, Ec2

)= −

√aK

2cos

(√aKΛ/2

), (2.90)

(Ec1,

dEc2

dz

)=

√aK

2cos

(√aKΛ/2

), (2.91)

W (0) = W (Λ) =√

aK

2. (2.92)

Page 71: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.4 Teoría del medio equivalente 39

Por ello, la ecuación (2.87) puede reescribirse como:

trM = 2 cos(√

aπ). (2.93)

Donde de la ecuación (2.93) puede deducirse fácilmente que |trM| ≤ 2 y por lotanto que no existen bandas prohibidas, pero sí una fuerte reflexión en los límitesde la banda fijados por trM = ±2, que recurriendo a la relación (2.93) se obtiene lasiguiente condición:

cos(√

aπ)

= ±1 → √a = 1, (2.94)

por lo tanto, de la ecuación (2.71):

2K

√k2

0εr0 − k2x = 1, (2.95)

ó2π

λn0 cos θB =

π

Λ→ cos θB =

λ

2n0Λ, (2.96)

donde θB es el ángulo de incidencia en el interior del medio periódico y n0 =√

εr0.

La relación (2.96) es exactamente la condición de Bragg para redes de difracciónno inclinadas. Aunque, cabe destacar que para obtener la identidad (2.96) se hadespreciado el efecto de la modulación de índice, se debe de tener en cuenta quela condición de Bragg es de carácter geométrico y que no presenta influencias de lavariación relativa de la constante de permitividad relativa. Por ello, la ecuación (2.96)puede considerarse válida para cualquier valor de ∆ε.

En la Figura 2.7 se muestra la parte real de φ (parte imaginaria nula), así como lareflectancia en función del ángulo de incidencia para una red de reflexión con períodoΛ = 0,2 µm, espesor d = 15 µm y modulación de índice ∆n = 0,025. La longitud deonda incidente es de 633 nm. La curva correspondiente con la reflectancia muestraun máximo en la banda prohibida, la cual está relacionada con el ángulo de Braggde la red.

2.4. Teoría del medio equivalente

En esta sección se detalla el procedimiento teórico utilizado para analizar dis-positivos ópticos de tipo estratificado. Un ejemplo de estos elementos son los FCF,los cuales se basan en un conjunto de capas dieléctricas que en la mayoría de loscasos presentan una periodicidad en la dirección del vector de onda de la onda de

Page 72: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

40 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

-80 -60 -40 -20 0 20 40 60 800

0,2

0,4

0,6

0,8

1

-80 -60 -40 -20 0 20 40 60 800

0,7

1,4

2,1

2,8

3,5

θ (º)

DE-1

R(φ)

DE

-1 (a.n

)

R(φ

) (r

ad)

π

Figura 2.7: Parte real de φ y de la reflectancia en función del ángulo de incidencia. Parámet-ros de la red: ∆ = 0,2 µm, d = 15 µm, ∆n = 0,025 y λ = 633.

incidencia. El índice de refracción de las capas suele alternarse entre índices elevados(nH) e índices bajos (nL) que proporcionan características interesantes en los hacestransmitidos y reflejados. A continuación se detallará el esquema teórico utilizadopara analizar estos elementos y también se explicará como se aplica a medios estra-tificados y para el caso concreto de redes de difracción holográfica, cuya variación esdel tipo sinusoidal.

2.4.1. Matriz característica

El método de la matriz característica se basa en definir una matriz que rela-cione los campos eléctricos y magnéticos en ambos extremos de una capa dieléctricahomogénea. Este esquema se ilustra en la Figura 2.8.

En esta sección se introduce la notación a seguir para el análisis de este tipo deproblemas donde el símbolo + es indicativo de ondas que se propagan en direcciónpositiva del eje z y el símbolo − ondas que se propagan en dirección negativa en elmismo eje. Si consideramos las componentes tangenciales del campo y asumimos laausencia de ondas viajando en el sentido negativo del eje z en el substrato, podemos

Page 73: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.4 Teoría del medio equivalente 41

n1 Capa delgada

Interfase a

Interfase b

Medio incidente

SubstratoNormal al plano

de incidencia

Grosor de

la capa

n0

ns

d

z

θ0

Figura 2.8: Esquema ilustrativo donde se representa la incidencia de una onda plana sobreuna capa delgada.

definir el siguiente conjunto de relaciones:

Eb = E+1b + E−

1b, (2.97)Hb = ηq

1E+1b − ηq

1E−1b, (2.98)

donde ηqi es la admitancia en el medio i, y q indica el tipo de polarización TM o TE.

Considerando la nomenclatura utiliza en [13], las admitancias pueden particularizarsepara ambas polarizaciones de la siguiente forma:

ηTMi = Ynr/ cos θi, (2.99)ηTE

i = Ynr cos θi, (2.100)(2.101)

con Y representando la admitancia en el vacío (Y = 2, 6544 · 10−3). Para el ca-so concreto mostrado en la Figura 2.8 el índice i toma el valor unitario, ya queúnicamente realizamos el análisis sobre una única capa. Cabe destacar que en las ex-presiones (2.97) y (2.98) se han omitido los términos de fase comunes. Desarrollandoambas expresiones en términos de ondas progresivas y regresivas, se pueden deducirlas siguientes ecuaciones:

E+1b =

12

(Hb

ηqi

+ Eb

), (2.102)

E−1b =

12

(−Hb

ηqi

+ Eb

), (2.103)

H+1b = ηq

1E+1b =

12

(Hb + ηq1Eb) , (2.104)

H−1b = −ηq

1E+1b =

12

(Hb − ηq1Eb) . (2.105)

Los campos en los mismos puntos x e y en la interfase a pueden obtenerse apartir de la adición de un término de fase que desplace en la coordenada z desde 0

Page 74: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

42 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

a −d. La ondas progresivas y regresivas presentarían una fase proporcional a

e±jδ, (2.106)

conδ = 2πn1d cos θ1/λ0, (2.107)

donde tanto δ como θ1 pueden ser complejos. El ángulo θ1 se relaciona con el ánguloθ0 definido en la Figura 2.8 a través de la ley de Snell. Para la interfase a, se puedendefinir los campos a partir de las expresiones (2.102)-(2.105),

E+1a = E+

1bejδ =

12

(Hb

ηqi

+ Eb

)ejδ, (2.108)

E−1a = E−

1be−jδ =

12

(−Hb

ηqi

+ Eb

)e−jδ, (2.109)

H+1a = H+

1bejδ = ηq

1E+1b =

12

(Hb + ηq1Eb) ejδ, (2.110)

H−1a = H−

1be−jδ = −ηq

1E+1b =

12

(Hb − ηq1Eb) . (2.111)

Aplicando las ecuaciones (2.97) y (2.98) sobre la interfase a y teniendo en cuen-ta (2.108)-(2.111) podemos realizar el siguiente procedimiento:

Ea = E+1a + E−

1a

= Eb

(ejδ + e−jδ

2

)+ Hb

(ejδ + e−jδ

2ηq1

)

= Eb cos δ + Hbj sin δ

ηq1

, (2.112)

Ha = H+1a + H−

1a

= Ebηq1

(ejδ + e−jδ

2

)+ Hb

(ejδ + e−jδ

2

)

= Ebjηq1 sin δ + Hb sin δ, (2.113)

Las ecuaciones (2.112) y (2.113) se pueden expresar en forma matricial de lasiguiente forma:

[Ea

Ha

]=

[cos δ (j sin δ)/ηq

1

jηqi sin δ cos δ

] [Eb

Hb

]. (2.114)

Donde las componentes transversales de E y H son continuas en los interfases y noexiste onda regresiva en el substrato. La ecuación (2.114) relaciona las componentes

Page 75: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.4 Teoría del medio equivalente 43

tangenciales de E y H en la región a con los transmitidos en el plano b. La matriz2×2 definida en (2.114) recibe el nombre de matriz característica de la capa.

Dado que habitualmente se desea obtener la reflectancia de un sistema como elmostrado en este punto entre el vacío y la capa dieléctrica, debemos recurrir a ladefinición básica del coeficiente de reflexión ρ:

ρ =η0 − Y

η0 + Y, (2.115)

donde Y es la admitancia de las componentes transversales del campo Y = Ha/Ea.De manera directa, la reflectancia puede calcularse a partir del coeficiente de reflex-ión:

R =(

η0 − Y

η0 + Y

)(η0 − Y

η0 + Y

)∗, (2.116)

Para poder calcular este parámetro de manera más directa, se puede realizar unanormalización de la ecuación (2.114) respecto de la componente tangencial del campoeléctrico Eb [14]:

[Ea/Eb

Ha/Eb

]=

[BC

]=

[cos δ (j sin δ)/ηq

1

jηqi sin δ cos δ

] [1ηq2

]. (2.117)

Es fácil interpretar los términos B y C como las amplitudes normalizadas delcampo eléctrico y magnético en la interfase a y que nos permiten analizar las carac-terísticas de la capa ya que:

Y =Ha

Ea=

C

B=

ηq2 cos δ + jηq

1 sin δ

cos δ + j(ηq2/ηq

1) sin δ, (2.118)

2.4.2. Extensión a medios estratificados

El procedimiento para obtener la matriz característica de capa para el caso demúltiples capas es similar al mostrado en la sección 2.4.1. De manera sencilla vamos aestudiar el caso mostrado en la Figura 2.9 en el que se ha añadido una capa adicionalrespecto al caso de la Figura 2.8.

La matriz característica para la nueva capa está definida como:[

cos δ2 (j sin δ2)/ηq2

jηq2 sin δ2 cos δ2

], (2.119)

Page 76: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

44 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

n1

Interfase a

Interfase b

Medio incidente

Substrato

n0

n2

d1

d2

ns

Interfase c

Figura 2.9: Notación para el caso de dos capas dieléctricas.

y de la expresión (2.114) puede definirse la relación entre los campos en el plano b yc: [

Eb

Hb

]=

[cos δ2 (j sin δ2)/ηq

2

jηq2 sin δ2 cos δ2

] [Ec

Hc

]. (2.120)

Por lo que se puede aplicar de nuevo la ecuación (2.114) para relacionar los planos ay c.[

Ea

Ha

]=

[cos δ1 (j sin δ1)/ηq

1

jηq1 sin δ1 cos δ1

] [cos δ2 (j sin δ2)/ηq

2

jηq2 sin δ2 cos δ2

] [Ec

Hc

], (2.121)

y de manera análoga a la obtención de la relación (2.117) se pueden obtener loscoeficientes B y C para esta estructura:

[BC

]=

[cos δ1 (j sin δ1)/ηq

1

jηq1 sin δ1 cos δ1

] [cos δ2 (j sin δ2)/ηq

2

jηq2 sin δ2 cos δ2

] [1ηq3

]. (2.122)

Este resultado puede extenderse al caso general para k capas, ya que la matrizcaracterística del conjunto se obtiene a partir del producto de las matrices carac-terísticas de cada una de las capas:

[BC

]=

k∏

r=1

[cos δr (j sin δr)/ηq

r

jηqr sin δr cos δr

][1ηq

s

], (2.123)

dondeδr =

2πnrdr cos θr

λ0. (2.124)

El cálculo de los ángulos θr puede realizarse a partir los índices de refracción de cadacapa (nr) y del substrato (ns) aplicando la ley de Snell:

n0 sin θ0 = nr sin θr = ns sin θs. (2.125)

Page 77: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.4 Teoría del medio equivalente 45

A partir de este procedimiento pueden obtenerse tanto la transmitancia como lareflectancia construyendo la matriz característica del dispositivo compuesto por layuxtaposición de capas de dieléctrico.

R =(

η0B − C

η0B + C

)(η0B − C

η0B + C

)∗, (2.126)

T =4η0<ηq

s(η0B + C)(η0B + C)∗

. (2.127)

En la Figura 2.10 se muestran algunos ejemplos de la aplicación del método a ca-sos prácticos. En todos los casos, las curvas se han contrastado con las proporcionadasen la bibliografía con el propósito de realizar una primera etapa de validación de laformulación.

2.4.3. Aplicación a redes de difracción holográficas en re-flexión

El método del medio efectivo surge de aplicar el método de la matriz característicaa medios que no están constituidos de manera directa mediante capas delgadas yhomogéneas. Si consideramos el caso concreto de una red de difracción holográficade fase en reflexión (φ = 0o) (véase esquema en la Figura 2.1), se aprecia que el patrónde interferencia en el medio es de tipo cosenoidal, por lo que la aproximación mediantecapas delgadas y homogéneas puede llevarse a cabo mediante una discretización delmedio. Existen precedentes de esta técnica para el caso de redes de difracción detransmisión de tipo binarias [15], donde φ = 90o y el medio en el interior de lared se aproxima mediante desarrollos en serie por una matriz característica como lamostrada en la ecuación (2.122).

En nuestro caso, la idea es utilizar en una primera instancia este método parael análisis de redes de difracción holográficas de reflexión, donde el vector de red estransversal al plano de incidencia y de manera sencilla, el patrón cosenoidal de lared puede aproximarse por un conjunto de capas delgadas, tal y como se ilustra enla Figura 2.11.

Para el caso ilustrado en la Figura 2.11, cada período de red Λ se representa a par-tir de cuatro muestras, cumpliendo el teorema de muestreo de Nyquist-Shannon [16].El número total de matrices a considerar en la expresión (2.121) será el entero máscercano a 4d/Λ. Aunque el método es bastante similar al detallado en la sección 2.3,

Page 78: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

46 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

0.7 0.8 0.9 1 1.1 1.2 1.30

5

10

15

20

25

30

λ/λ0

R(%

)

0 0.5 1 1.5 20

20

40

60

80

100

R(%) 2 Capas

T(%) 2 Capas

R(%) 3 Capas

T(%) 3 Capas

λ/λ0

(a)

(b)

60º-TE30º-TE

0º30º-TM60º-TM

Efici

enci

a (

%)

Figura 2.10: Ejemplo de aplicación del método de la matriz característica sobre varioscasos prácticos: (a) Rendimiento teórico para dos láminas anti-reflectantes. El sistema de2 capas está compuesto por las siguientes láminas de un cuarto de longitud de onda: n1 =1,587, n2 = 2,52; mientras que para el caso de 3 capas: n1 = 1,587, n2 = 2,0 y n3 = 2,52.En ambos casos el substrato presenta un índice de refracción de ns = 4 [14]. (b) Cálculo dela reflectancia para varios ángulos de incidencia para un sistema compuesto por una capacon índice n = 2,2 sobre un substrato con n = 4,0.

Page 79: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

2.4 Teoría del medio equivalente 47

0 0,5 1 1,5 21,55

1,6

1,65

z (µm)

1,7

n

Figura 2.11: Variación del índice de refracción en una red de reflexión en función del ejez, el cual es normal al plano de incidencia de la red. Mediante círculos se representan losvalores discretizados de la red para el caso de aproximar el patrón de interferencia medianteun conjunto de capas delgadas de longitud Λ/4.

el uso de este método es interesante a la hora de comparar la precisión entre el méto-do numérico DFDT, TROA y el MM, ya que la discretización realizada en el métodonumérico y en esta aplicación particular es muy similar.

Page 80: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

48 CAPÍTULO 2. TEORÍA DIFERENCIAL CLÁSICA EN MEDIOS PERIÓDICOS

Page 81: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Bibliografía

[1] H. Kogelnik. Coupled wave theory for thick hologram gratings. The Bell SystemTechnical Journal, 48:2909–2947, November 1969.

[2] H. Kogelnik. Bragg diffraction in hologram gratings with multiple internal re-flections. J. Opt. Soc. Am., 57(3):431–433, 1967.

[3] M. Born y E. Wolf. Principles of Optics. Pergamon, Oxford, UK, 6a edición,1980.

[4] P. Hariharan. Basics of Holography. Cambridge University Press, 2001.

[5] M. G. Moharam y T. K. Gaylord. Rigurous coupled-wave analysis of planar-grating diffraction. Journal of the Optical Society of America, 71(7):811–818,1981.

[6] M. G. Moharam y T. K. Gaylord. Coupled-wave analysis of reflection gratings.Applied Optics, 20(2):240–244, 1981.

[7] M. G. Moharam y T. K. Gaylord. Rigorous coupled-wave analysis of metallicsurface-relief gratings. J. Opt. Soc. Am. A., 3(11):1780–1787, 1986.

[8] L. Carretero, M. Pérez-Molina, P. Acebal, S. Blaya, y A. Fimia. Matrix methodfor the study of wave propagation in one-dimensional general media. OpticsExpress, 14(23):11385–11391, 2006.

[9] J. Lekner. Theory of Reflection Of Electromagnetic and Particle Waves. KluwerAcademic Publishers Group, 1987.

[10] G. Blanch. Handbook of Mathematical Functions with Formulas, Graphs, andMathematical Tables, chapter 20, pages 722–748. Dover Publications, 1972.

[11] F. Abeles. Optics of thin films in Advanced Optical Techniques. North-HollandPublishing Co., Amsterdam, 1967.

Page 82: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

50 BIBLIOGRAFÍA

[12] D. Frenkel y R. Portugal. Algebraic Methods to Compute Mathieu Functions.J. Phys. A: Math. Gen., 3(17):3541–3551, 2001.

[13] C. A. Balanis. Advanced Engineering Electromagnetics. New York: Wiley, 1989.

[14] H. A. Macleod. Thin-Film Optical Filters. Institute of Physics Publishing, 2001.

[15] X. Jing y Y. Jin. Transmittance analysis of diffraction phase gratings. AppliedOptics, 50(9):11–18, 2010.

[16] J. G. Proakis y D. G. Manolakis. DIGITAL SIGNAL PROCESSING: Princi-ples, Algorithms and Applications. Prentice Hall, New Jersey, USA, 1996.

Page 83: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 3

Método de las Diferencias Finitasen el Dominio del Tiempo

En este capítulo, se presentan las bases de la formulación del método de las DFDTdesde el caso de una dimensión hasta el el caso tridimensional pasando por el casobidimensional. Antes de estudiar los problemas bi y tridimensional, se introduciránconceptos relacionados con la fuente de excitación, las condiciones de frontera y lapropagación en medios dieléctricos. Esta estructura permitirá abordar dichos concep-tos de manera sencilla para los casos 2-D y 3-D, ampliando la formulación explicadapreviamente.

3.1. Formulación FDTD para el caso 1-D

Consideremos inicialmente una región libre de fuentes, dentro de la cual puedenexistir materiales que absorban energía de tipo eléctrica o magnética. En esta situación,las ecuaciones de Maxwell en su forma diferencial se pueden expresar de la siguientemanera [1, 2]:

∂D∂t

=1√ε0µ0

(∇×H− σE

), (3.1)

D(ω) = ε∗r(ω) · E, (3.2)∂H∂t

= − 1√ε0µ0

∇× E− σm

µ0H, (3.3)

Page 84: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

52CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

donde ε0 es la permitividad dieléctrica en faradios por metro, ε∗r es la permitividaddieléctrica relativa compleja, µ0 es la permeabilidad magnética en el vacío en henriospor metro, σm es la resistividad magnética equivalente en ohmios por metro y σ es laconductividad eléctrica en siemens por metro. El vector desplazamiento eléctrico estárepresentado por D que al igual que el campo eléctrico E, han sido normalizadosrespecto a la impedancia intrínseca del vacío η0, definida como

√µ0/ε0:

E =√

ε0µ0

E, (3.4)

D =√

1ε0µ0

D, (3.5)

donde E, es el vector campo eléctrico definido en voltios por metro y H es el vectorde campo magnético definido en amperios por metro.

El par de ecuaciones definidas en (3.1) y (3.3) definiría un sistema de seis ecua-ciones escalares, tres por cada variable vectorial asociadas a las tres coordenadasespaciales. El caso más simple se correspondería con una onda plana con el campoeléctrico orientado en el eje x y el campo magnético polarizado en el y, y propagán-dose a lo largo del eje z en el vacío.

∂Ex

∂t= 1√

ε0µ0∇×Hy, (3.6)

∂Hy

∂t= − 1√

ε0µ0∇× Ex. (3.7)

Aproximando mediante diferencias centrales tanto las derivadas espaciales comotemporales, podemos reescribir ambas ecuaciones tal y como sigue:

Ex|n+1/2k − Ex|n−1/2

k

∆t=

1√ε0µ0

Hy|nk+1/2 −Hy|nk−1/2

∆x, (3.8)

Hy|n+1/2k+1/2 −Hy|n+1/2

k+1/2

∆t= − 1√

ε0µ0

Ex|nk+1 − Ex|nk−1

∆x. (3.9)

En ambas ecuaciones, el tiempo está definido mediante el superíndice entero n,donde t = ∆t · n. El subíndice entero k representa las celdas en la coordenada z,por lo que la distancia en dicho eje se define como z = ∆x · k. A lo largo de estaTesis Doctoral y cuando se haga referencia al método de las DFDT, siempre se usaráesta notación, donde el superíndice define la variable temporal y los subíndices lasvariables espaciales.

Las ecuaciones (3.8) y (3.9) describen una estructura entrelazada de las compo-nentes E y H tanto en el espacio como en el tiempo. En la figura 3.1 se aprecia

Page 85: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.1 Formulación FDTD para el caso 1-D 53

como para la descripción del campo magnético H se utilizan los subíndices k − 1/2y k + 1/2 para indicar que los valores de H se encuentran entre valores de E. Es-ta idea se representa en la Figura 3.1, donde se sitúan las componentes del campoelectromagnético en el espacio y en el tiempo de manera discreta.

z = 0

t = 1,5∆tHy HyHy

Ez EzEz Ez

Hy HyHy

Ez EzEz Ez

t = ∆t

t = 0,5∆t

t = 0z = ∆z z = 2∆z z = 3∆z

Figura 3.1: Entrelazado de las componentes Ez y Hy en el espacio y en el tiempo

0 20 40 60 80 100-0,5

0

0,5

Celdas

Ex (A/m)

0 20 40 60 80 100-0,5

0

0.5

Celdas

Hy (A/m)

(a)

(b)

Figura 3.2: Simulación de un pulso introducido en la celda 50 propagándose hacia losextremos (n = 150). (a) Campo eléctrico. (b) Campo magnético.

Reorganizando términos en (3.8) y en (3.9), podemos obtener un conjunto deecuaciones que pueden ser resueltas de manera iterativa. En la Figura 3.2 se muestraun ejemplo de un pulso propagándose en el espacio libre. El pulso se ha introducidoen el centro del mallado y la simulación se ha detenido en la iteración número 150. Loscampo eléctrico y magnético representados en las Figuras 3.2a y b respectivamente,permiten identificar la dirección de propagación del pulso a lo largo de la malla de

Page 86: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

54CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

simulación.

Ex|n+1/2k = Ex|n−1/2

k − 1√ε0µ0

∆t

∆x

[Hy|nk+1/2 −Hy|nk−1/2

], (3.10)

Hy|n+1k+1/2 = Hy|n−1

k+1/2 −1√ε0µ0

∆t

∆x

[Ex|n+1/2

k+1 − Ex|n+1/2k−1

]. (3.11)

3.1.1. Condición de estabilidad

La relación entre la resolución temporal (∆t) y espacial (∆x) puede ser deter-minada de manera intuitiva a partir del caso unidimensional. Una onda electromag-nética que se propaga en el vacío, necesita un tiempo como mínimo de ∆t = ∆x/c0

para recorrer una celda, siendo c0 la velocidad de propagación de la luz en el vacío.Para el caso bidimensional, tenemos que tener en cuenta la propagación en diagonala través de la celda, lo cual implica que el tiempo necesario por la onda en atraves-ar la celda aumenta, siendo ∆t = ∆x/(2

√2c0), para el caso de que ∆x = ∆y. De

manera análoga, se puede obtener la misma relación para el caso tridimensional querequiere una resolución temporal de ∆t = ∆x/(

√3c0). En general la relación que

deben verificar ∆x y ∆t para que se garantice la estabilidad del algoritmo, se conocecomo condición de Courant [3, 4]:

∆t ≤ ∆x√pc0

, (3.12)

donde p es el número de dimensiones en la simulación.

Por simplicidad, se utilizará la siguiente expresión para nuestras simulaciones,tanto en 1-D, 2-D y 3-D.

∆t ≤ ∆x

2c0. (3.13)

Llegado a este punto, teniendo en cuenta la relación (3.13) y simplificando lostérminos que multiplican al campo magnético en (3.10) y al campo eléctrico (3.11)se obtiene la siguiente relación

1√ε0µ0

∆t

∆x= c0

∆x/2 · c0

∆x=

12. (3.14)

Para el caso de un medio homogéneo y sin pérdidas, las ecuaciones (3.10) y (3.11)se pueden replantear de una manera más sencilla:

Ex|n+1/2k = Ex|n−1/2

k − 0,5[Hy|nk+1/2 −Hy|nk−1/2

], (3.15)

Hy|n+1k+1/2 = Hy|n−1

k+1/2 − 0,5[Ex|n+1/2

k+1 − Ex|n+1/2k−1

]. (3.16)

Page 87: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.1 Formulación FDTD para el caso 1-D 55

Determinar la relación entre la resolución temporal y espacial del algoritmo, paraque éste sea estable, conlleva unos análisis más extensos, los cuales se pueden hallaren [3].

3.1.2. Inserción de ondas incidentes

Se conoce como el método de fuente dura (hard source[1]-[3]) a la asignaciónde una función analítica conocida a una de las variables del campo en una zonadel mallado, sin tener en cuenta los valores previos obtenidos por el algoritmo. Ladesignación de fuente dura viene dada por el hecho de que en cada iteración delalgoritmo el valor del campo obtenido en la región de iluminación es substituido porel de la fuente. Para el caso de un problema unidimensional con polarización TE, elcampo eléctrico Ez puede ser fijado en un punto del mallado (is) con el valor de unafunción analítica conocida. El primer tipo de función a tratar es el de una funciónarmónica de frecuencia f0:

Ez|nis = E0 sin(2πf0n∆t). (3.17)

Otro tipo de fuente dura usada con frecuencia en este tipo de problemas es la deun pulso Gaussiano de espectro limitado centrado en el instante de tiempo n0 y decaída para ndecay iteraciones de 1/e.

Ez|nis = E0e−[(n−n0)/ndecay]2 . (3.18)

El tercer tipo de fuente dura utilizada en este trabajo, tiene como ventaja que puedeevitar las componentes en continua presentes en la fuente Gaussiana desplazando elespectro de la misma a una frecuencia de interés dada por f0.

Ez|nis = E0e−[(n−n0)/ndecay]2 sin(2πf0(n− n0)∆t). (3.19)

Este tipo de fuentes se propagan por igual en todas las direcciones del espacio desdeel punto de iluminación (is).

Las fuentes duras se comportan como conductores perfectos ante las ondas quepuedan llegar al punto is debido a reflexiones o scattering. Para evitar reflexionesindeseadas en el punto de excitación, se utilizan las fuentes blandas (soft source) quepermiten a las ondas atravesar la celda al mismo tiempo que se introduce la fuente deexcitación. Las fuentes blandas son aquellas que no fijan un valor al campo, sino quese añade al valor previamente calculado. La siguiente expresión modela el métodode iluminación mencionado, siendo Efuente

z |nis cualquiera de funciones anteriormentemencionadas (3.17)-(3.19).

Page 88: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

56CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

Ez|nis = Ez|n−1is

+ Efuentez |nis . (3.20)

3.1.3. Condiciones de frontera para una dimensión

Las Condiciones de Frontera Absorbentes (CFA) se aplican en los bordes del mallade simulación para evitar que las reflexiones de los campos E y H vuelvan hacia elinterior. El algoritmo de las DFDT calcula iterativamente los valores de E a partirde los valores almacenados de H (de manera análoga ocurre lo mismo con el campoH), esto deja de ser posible en los extremos, ya que en los puntos inmediatamenteexternos a la malla de simulación, los valores del campo son desconocidos y tomadosarbitrariamente como nulos. En la figura 3.3 se muestra la simulación del mismo pulsoanteriormente mostrado en la figura 3.2 para T = 150, pero ahora para el instanteT = 250, donde se aprecian las reflexiones en los bordes del mallado viajando denuevo hacia el punto central del mallado.

0 20 40 60 80 100-0,5

0

0,5

Celdas

Ex (A/m)

0 20 40 60 80 100-0,5

0

0,2

Celdas

Hy (A/m)

(a)

(b)

Figura 3.3: Simulación de un pulso propagándose en espacio libre para T = 250. Paraeste instante de tiempo, el pulso ya ha llegado al extremo del mallado y vuelve debido a lareflexión.

Para que los campos en los límites sigan propagándose hacia el infinito, se haceuso de las ABC. Estas herramientas se basan principalmente en anular el campo enlos extremos para que las reflexiones sean mínimas. Para el caso de una dimensión, y

Page 89: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.1 Formulación FDTD para el caso 1-D 57

teniendo en cuenta la relación vista en (3.13), una onda electromagnética propagán-dose a velocidad c0, haría uso de dos pasos temporales para recorrer una celda. Porello, se pueden cancelar los campos mediante las expresiones (3.21) y (3.22) en ambosextremos tal y como puede apreciarse en la figura 3.4.

Ex|n0 = Ex|n−21 , (3.21)

Ex|nN = Ex|n−2N−1. (3.22)

0 10 20 30 40 50 60 70 80 90 100

0

0,20,4

0 10 20 30 40 50 60 70 80 90 100

0

0,20,4

0 10 20 30 40 50 60 70 80 90 100

0

0,2

0,4

Celdas

(a)

(b)

(c)

Ex (A/m)

Ex (A/m)

Ex (A/m)

-0,1

0,5

-0,1

0,5

-0,1

0,5

Figura 3.4: Propagación del pulso en espacio libre con ABC en los extremos. a) t = 150∆t.b) t = 190∆t. c) t = 210∆t

3.1.4. Propagación en medios dieléctricos

La constante dieléctrica y la conductividad de la mayoría de los materiales varíanen función de la frecuencia. Una de las características más importantes del algo-ritmo FDTD es la posibilidad de simular este tipo de materiales. En el rango delas longitudes ópticas, los fenómenos de polarización en los materiales dieléctricosson ocasionados por polarización dipolar o también denominada orientacional. Estecomportamiento es diferente al que nos podemos encontrar en longitudes de onda demicroondas debidos a polarización iónica o electrónica.

Page 90: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

58CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

Para el caso que nos ocupa, en las longitudes de onda ópticas, los fenómenos dedispersión se han descartado y se han llegado a simular materiales dieléctricos conpérdidas pero con características estáticas en función de la frecuencia. Para simularmedios dieléctricos se recurre a la forma más general de las ecuaciones de Maxwell(3.1)-(3.3) [1, 2].

Cabe destacar que la expresión (3.2) está definida en el dominio de la frecuencia.Por ello, es necesario transformar dicha expresión al dominio temporal para poderaplicar el algoritmo de las DFDT. Si modelamos un medio dieléctrico de la forma

ε∗r(w) = εr +σ

jwε0, (3.23)

donde εr es la constante dieléctrica relativa y σ es la conductividad dada en siemenspor metro, podemos redefinir (3.2) a partir de (3.23) particularizada para una ondaplana polarizada en x:

Dx(w) = εr · Ex(w) +σ

jωε0Ex(w). (3.24)

En el caso del primer término de la ecuación, no es difícil establecer su representaciónen el dominio temporal. Por otro lado, el segundo término presenta un término 1/jωen el dominio de la frecuencia. Según la teoría de Fourier el término 1/jω puedetrasladarse al dominio temporal mediante una integral definida, por ello la expresión(3.24) podría reescribirse de la siguiente forma:

Dx(t) = εr · Ex(t) +σ

ε0

∫ t

0Ex(t′)dt′. (3.25)

De manera sencilla, podemos convertir la integral continua en un sumatorio:

Dx|nk = εr|k · Ex|nk +σ|k∆t

ε0

n∑

i=0

Ex|ik., (3.26)

ya que E y D están definidas en t = n · ∆t nos encontramos con el inconvenientede que necesitamos el valor de Ex|nk en el sumatorio para obtener el de Dx|nk . Pararesolver esta situación, basta con extraer del sumatorio el último término y reescribirla expresión en función de Ex|nk :

Dx|nk = εr|k · Ex|nk +σ|k∆t

ε0Ex|kn +

σ|k∆t

ε0

n−1∑

i=0

Ex|ik, (3.27)

Ex|nk =Dx|kn − σ|k∆t

ε0

∑n−1i=0 Ex|ik

εr|k + σ|k∆tε0

. (3.28)

Page 91: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.1 Formulación FDTD para el caso 1-D 59

De esta manera, podemos obtener el valor actual del campo eléctrico Ex|nk a partirde los valores previos del campo y del vector desplazamiento eléctrico. Para hacermás sencillo la compresión del algoritmo se recurre a una variable para la integración,

Ix|nk =σ|k∆t

ε0

n∑

i=0

Ex|ik, (3.29)

que permite reformular la expresión (3.28) de una forma más compacta:

Ex|nk =Dx|nk − Ix|n−1

k

εr|k + σ|k∆tε0

, (3.30)

Ix|nk = Ix|n−1k +

σ|k∆t

ε0Ex|nk . (3.31)

En la figura 3.5, se muestra la propagación de un pulso gaussiano que incide enun medio de constante dieléctrica εr = 2 y de constante de pérdidas σ = 0,01. Seaprecia el efecto de las pérdidas a medida que el pulso penetra en el medio dieléctrico.

0 20 40 60 80 100 120 140150

0

0,5

1

Celdas

(a)

0 20 40 60 80 100 120 140 150

0

0,5

1(b)

0 20 40 60 80 100 120 140 150

0

0,5

1(c)

Fuenteεr = 2

σ = 0,01 S/m

Fuente

Fuente

-0,5

-0,5

-0,5

Ex (

A/m

)E

x (

A/m

)E

x (

A/m

)

Figura 3.5: Propagación del pulso que incide en un medio dieléctrico. El plano de comienzodel medio dieléctrico está situado a 50 celdas del plano de excitación en is = 20∆x. a)t = 150∆t. b) t = 220∆t. c) t = 280∆t

Page 92: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

60CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

3.2. Formulación FDTD para el caso 2-D

A partir de las ecuaciones de Maxwell anteriormente descritas en las ecuaciones(3.1), (3.2) y (3.3) podemos obtener seis componentes del campo: Ex, Ey, Ez, Hx,Hy y Hz. El número de componentes del campo involucradas en en el problemabidimensional pueden ser reducidas a tres componentes para los casos TE con Ez, Hx

y Hy o Transversal Magnético (TM) con Hz, Ex y Ey, considerando el plano xy comoreferencia [5, 6]. En esta sección se trabajará por comodidad con polarización TE,aunque de manera similar se pueden extender los principios a la polarización TM .Las ecuaciones de Maxwell para el caso TE, presentan las siguientes componentes:

∂Dz

∂t=

1√ε0µ0

(∂Hy

∂x− ∂Hx

∂y

), (3.32)

Dz(w) = ε∗r(w) · Ez(w), (3.33)

∂Hx

∂t= − 1√

ε0µ0

(∂Ez

∂y

), (3.34)

∂Hy

∂t=

1√ε0µ0

(∂Ez

∂x

). (3.35)

Al igual que para el caso de una dimensión, es necesario un entrelazado entre lascomponentes de campo eléctrico y magnético. Esta configuración se muestra en laFigura 3.6, que ilustra la celda de Yee para el caso 2-D.

i -1 i i+1x

y

j+1

j

j -1

Ez Ez Ez

Ez Ez Ez

Ez Ez Ez

Hy Hy

Hy Hy

Hy Hy

Hx Hx Hx

Hx Hx Hx

Hx Hx Hx

Figura 3.6: Celda de Yee para la formulación TE en el caso bidimensional.

Page 93: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 61

El análisis detallado de la celda de Yee ([3] y [1]) se tratará con más detalle enel apartado 3.3.

Las ecuaciones (3.32), (3.33), (3.34) y (3.35) según la red mostrada en la Figura3.6 pueden reescribirse como siguen.

Dz|n+1/2i,j = Dz|n−1/2

i,j +∆t√ε0µ0

[Hy|ni+1/2,j −Hy|ni−1/2,j

∆x−

Hx|ni,j+1/2 −Hx|ni,j+1/2

∆y

], (3.36)

Ez|n+1/2i,j = Gaz|i,j

[Dz|n+1/2

i,j − Iz|n+1/2i,j

], (3.37)

Iz|n+1/2i,j = Iz|n−1/2

i,j + Gbz|i,j · Ez|n+1/2i,j , (3.38)

Hx|n+1i,j+1/2 = Hx|ni,j+1/2 −

∆t√ε0µ0

[Ez|n+1/2

i,j+1 − Ez|n+1/2i,j

∆y

], (3.39)

Hy|n+1i+1/2,j = Hy|ni+1/2,j +

∆t√ε0µ0

[Ez|n+1/2

i+1,j − Ez|n+1/2i,j

∆y

]. (3.40)

Las relaciones entre Dz y Ez son las mismas que las mostradas en (3.30), pero ex-tendidas al problema TE bidimensional. La variable Gaz contiene para cada posicióndel espacio las características del medio en relación a la permitividad (ε), resolucióntemporal y pérdidas (σ), mientras que la variable Gbz contiene únicamente informa-ción sobre las pérdidas y la resolución temporal.

Gaz|i,j =1

εr|i,j + σ|i,j∆tε0

, (3.41)

Gbz|i,j =σ|i,j∆t

ε0. (3.42)

A modo de ejemplo, se ilustra en la Figura 3.7 una secuencia de la simulación deun pulso propagándose en espacio libre. En la Figura 3.7a, muestra la distribución delcampo eléctrico para t = 20∆t y la perturbación producida por la fuente puntual enel centro de la malla. En la Figura 3.7b, se representa el campo eléctrico en el instantetemporal t = 50∆t. Para este caso en concreto, se aprecia como el campo originadopor la fuente puntual se propaga hacia los extremos de la malla de simulación.

Page 94: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

62CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

01

23

4

12

34

-0,05

0

0,05

0,1

0,15

a)

Ez (V

/m

)

12

34

01

23

4-0,06

-0,04

-0,02

0

0,02

0,04

0,06

b)

x (µm) x (µm)y (µm) y (µm)

Figura 3.7: Simulación de un pulso propagándose en un mallado bidimensional. a) t =20∆t. b) t = 50∆t.

3.2.1. Dispersión numérica

El fenómeno de la dispersión es sobradamente conocido y se manifiesta cuandola velocidad de fase de los diferentes modos difiere de la velocidad del vacío c0.El método de las DFDT presenta una dispersión inherente ocasionada al evaluarlas ecuaciones aproximadas (3.36)-(3.40) para calcular las componentes del campoelectromagnético. Dichas expresiones se han obtenido a partir de la aproximación endiferencias finitas de las derivadas presentes en las ecuaciones de Maxwell.

Esta dispersión presenta una dependencia con la longitud de onda, la direcciónde propagación en el interior de la celda y la resolución espacial. Intuitivamente, sepuede interpretar que el algoritmo DFDT simula las componentes del campo con lainteracción de las ondas en un medio de constante dieléctrica muy cercana a la delvacío, pero no igual. Este fenómeno causaría la acumulación de retardos que puedenocasionar resultados carentes de significado físico tal y como deformaciones en laforma de onda y pseudorefracción entre otros. Para obtener expresiones analíticasque relacionen la dispersión con los parámetros físicos anteriormente mencionados,se considerará régimen permanente sinusoidal, propagación de ondas planas en solu-ciones TE y diferentes ángulos de incidencia. La problemática de la dispersión para

Page 95: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 63

tres dimensiones se puede obtener directamente a partir del siguiente razonamiento,obteniendo relaciones muy similares.

Suponiendo ondas monocromáticas, se puede definir el siguiente juego de ecua-ciones para el caso TE:

Ez|nI,J = Ez0ej(kxI∆x+kyJ∆y−ωn∆t), (3.43)

Hx|nI,J = Hx0ej(kxI∆x+kyJ∆y−ωn∆t), (3.44)

Hy|nI,J = Hy0ej(kxI∆x+kyJ∆y−ωn∆t), (3.45)

donde kx y ky son, respectivamente, las componentes del vector de onda en los ejes xe y respectivamente. Sustituyendo las ecuaciones (3.43)-(3.45) en las (3.32)-(3.35) yteniendo en cuenta las relaciones entre el campo eléctrico y el vector desplazamien-to normalizado, así como las propiedades de la transformada de Fourier, podemosobtener las siguientes expresiones:

Hx0 =∆tEz0

µ∆y

sin(ky∆y/2

)

sin (ω∆y/2), (3.46)

Hy0 =∆tEz0

µ∆y

sin(kx∆x/2

)

sin (ω∆x/2), (3.47)

Ez0sin

(ω∆t

2

)=

∆t

ε0

[Hx0

∆ysin

(ky∆y

2

)− Hy0

∆xsin

(kx∆x

2

)]. (3.48)

Las expresiones (3.46) y (3.47) pueden sustituirse en (3.48) para obtener la si-guiente relación:

[1

c∆tsin

(ω∆t

2

)]2

=

[1

∆xsin

(kx∆x

2

)]2

+

[1

∆ysin

(ky∆y

2

)]2

. (3.49)

Aproximando la celda de Yee a un cuadrado de aristas iguales (∆x = ∆y = ∆)y un ángulo de propagación α respecto al eje positivo de las x (kx = k cosα;ky =k sinα). La relación que define la dispersión numérica (3.49) puede ser resuelta en

Page 96: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

64CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

función del ángulo α mediante el siguiente método iterativo de Newton:

ki+1 = ki − sin2(Aki) + sin2(Bki)− C

A sin(2Aki) + B sin(Bki), (3.50)

A =∆cosα

2, (3.51)

B =∆sinα

2, (3.52)

C =∆

c∆tsin2

(ω∆t

2

), (3.53)

donde ki+1 es la predicción de k, y ki es la estimación previa de k. La convergenciade este método suele ser muy rápida y pocas iteraciones suelen ser necesarias. Deeste modo la velocidad de fase vp vendría dada por la siguiente expresión.

vp

c=

kfinal(3.54)

0 30 60 900,94

0,96

0,98

1

α(º)

Vel

oci

dad d

e fa

se n

um

éric

a

norm

aliza

da (vp/c

0)

∆ = λ/20

∆ = λ/10

∆ = λ/5

Figura 3.8: Variación de la velocidad de fase numérica en función del ángulo de incidenciaen un mallado 2D para resoluciones de celda de λ/5, λ/10 y λ/20.

En la figura 3.8 se muestra la anisotropía inherente al algoritmo de Yee en la ve-locidad de fase. Se han representado las curvas para diferentes resoluciones espaciales,manteniendo la relación (3.13). Esta relación suele utilizarse tanto para problemasbidimensionales como tridimensionales ya que cumple la condición de estabilidad demanera holgada. Puede apreciarse que vp es siempre menor a la velocidad de propa-gación en el vacío, alcanzando un máximo en 45o y un mínimo en 0o y en 90o para

Page 97: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 65

todas las resoluciones. El error acumulativo inherente a la formulación de Yee desegundo orden puede reducirse ampliando la resolución espacial o bien a partir deaproximaciones de cuarto orden que reducen el error de fase en gran medida [3].

3.2.2. Condiciones de frontera para el caso bidimensional

La necesidad del uso de condiciones de frontera de tipo absorbente en los ex-tremos de la malla viene dado por el hecho de que las ondas que se propagan hacialos extremos de la red, producen unas reflexiones indeseadas e imprevisibles, queocasionan resultados incorrectos en la zona de análisis. Una primera aproximaciónpara paliar el problema sería aumentar el tamaño de la red y detener la simulaciónen un instante en el que las reflexiones aún no se hayan originado (debido a quelas ondas no han llegado a los bordes de la simulación) o bien no hayan alcanzadola región de interés. Esta alternativa se hace inviable a medida que aumentamos elnúmero de celdas. El coste de una simulación bidimensional, es de aproximadamenteO(3nfncnsteps), siendo nf y nc el número de celdas en el eje x y en el eje y respecti-vamente (o bien el número de filas y de columnas de las matrices Ez, Hx, Hy, Gax yGbx). El término nsteps hace referencia al número de pasos temporales que calcularáel método. Por ello se recurre a las condiciones de contorno absorbentes como laexplicada en el punto 3.1.3, ya que un aumento en el número de celdas en cualquierade las dimensiones repercute en gran medida en el coste temporal del método. Eluso de las CFA permite reducir las dimensiones de la malla y por tanto del costetemporal del algoritmo.

La condición de contorno analizada en el punto 3.1.3, únicamente es útil para elcaso unidimensional, cuando el ángulo de incidencia de las ondas es único y conocido.Para el caso bidimensional y tridimensional se utilizan las conocidas condiciones defrontera denominadas capas de adaptación perfecta o por el término anglosajón Per-fectly Matched Layers (PML) definidas por Berenger [7, 8]. A partir del trabajo deBerenger, se han realizado diversas aportaciones relacionadas con este formalismoy su implementación en las DFDT [9, 10]. En este trabajo nos centraremos en unaversión simplificada de las PMLs de Berenger detalladas en [1, 10].

Esta técnica se basa en el uso de unas capas diseñadas para absorber las on-das electromagnéticas que inciden sobre las mismas. La absorción se lleva a cabogenerando unas pérdidas de manera independiente en cada una de las componentesdel campo involucradas. Este proceso se realiza teniendo en cuenta que una discon-tinuidad entre dos medios produce una reflexión relacionada con las impedanciasintrínsecas de cada uno de ellos y que dicho factor de reflexión debe anularse paraevitar reflexiones indeseadas (véase figura 3.5 donde se produce una reflexión del pul-

Page 98: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

66CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

so que incide sobre la superficie dieléctrica). El factor de reflexión entre dos medios,A y B se define tal y como sigue:

Γ =ηA − ηB

ηA + ηB, (3.55)

donde las impedancias intrínsecas de cada uno de los medios se definen a partir dela constante dieléctrica ε y la permeabilidad µ.

η =√

µ

ε. (3.56)

La finalidad de la PML es introducir un número de capas adicionales (NPML

capas) en la región frontera de la simulación (véase figura 3.9) que modelen unmedio con pérdidas. La atenuación producida sobre las ondas electromagnéticas querecorren la región PML favorecerá que las amplitudes de las ondas reflejadas en losbordes sean reducidas y en la mayoría de las situaciones despreciables. Para ello, laconstante dieléctrica y la permeabilidad deben ser complejas, de forma que se puedansimular medios con pérdidas. Para estudiar las PMLs de Berenger partimos de lareformulación las expresiones (3.32), (3.33), (3.34) y (3.35) en el dominio frecuencial(substituyendo las derivadas temporales d/dt por jω).

x

y

NPMLRegión PML

Figura 3.9: Esquema de un mallado bidimensional con PMLs.

jωDz = c0

(∂Hy

∂x− ∂Hx

∂y

), (3.57)

Dz(ω) = ε∗r(ω) · Ez(ω), (3.58)

jωHx = −c0

(∂Ez

∂y

), (3.59)

jωHy = c0

(∂Ez

∂x

). (3.60)

Page 99: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 67

Para realizar las PML se añaden unas constantes dieléctricas y permeabilidades[10] ε∗Fz

,µ∗Fxy µ∗Fy

, definidas en (3.69) y (3.70):

jωDzε∗Fz

(x)ε∗Fz(y) = c0

(∂Hy

∂x− ∂Hx

∂y

), (3.61)

Dz(ω) = ε∗r(ω) · Ez(ω), (3.62)

jωHxµ∗Fx(x)µ∗Fx

(y) = −c0

(∂Ez

∂y

), (3.63)

jωHyµ∗Fy

(x)µ∗Fy(y) = c0

(∂Ez

∂x

). (3.64)

Cabe destacar que las variables añadidas, no tienen un significado físico con-creto, ni relación ninguna con las características del medio dadas por εr(ω)∗. En eltrabajo realizado por Sacks et al en [11] se definen dos condiciones básicas para laconstrucción de las PML:

1. La impedancia vista desde el interior del medio hacia la PML debe ser con-stante.

η0 = ηm =

√µ∗Fx

ε∗Fx

= 1. (3.65)

2. La constante dieléctrica y la permeabilidad en una dirección dada deben serinversas a las mismas en la dirección perpendicular.

ε∗Fx=

1ε∗Fy

, (3.66)

µ∗Fx=

1µ∗Fy

. (3.67)

(3.68)

Seguidamente asumiremos que estas variables ficticias están definidas de la si-guiente forma

ε∗Fm= εFm +

σDm

jωε0con m = x, y, (3.69)

µ∗Fm= µFm +

σHm

jωµ0con m = x, y. (3.70)

Page 100: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

68CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

Teniendo en cuenta las dos condiciones impuestas, se muestran los valores escogi-dos para las variables mostradas en (3.69) y (3.70):

εFm = µFm = 1, (3.71)σDm

jωε0=

σHm

jωµ0=

σD

ε0. (3.72)

Donde σD se define numéricamente en le expresión (3.83). Puede comprobarseque la substitución de (3.71) y (3.72) en (3.65) sigue manteniendo la misma relación.

Por lo que sustituyendo las expresiones (3.71) y (3.72) en (3.69) y en (3.70),podemos reescribir las expresiones (3.61), (3.63) y (3.64).

jωDz

(1 +

σD(x)jωε0

)(1 +

σD(y)jωε0

)= c0

(∂Hy

∂x− ∂Hx

∂y

), (3.73)

jωHx

(1 +

σD(x)jωε0

)−1 (1 +

σD(y)jωε0

)= −c0

(∂Ez

∂y

), (3.74)

jωHy

(1 +

σD(x)jωε0

)(1 +

σD(y)jωε0

)−1

= c0

(∂Ez

∂x

). (3.75)

Reorganizando términos, se pueden llegar a las siguientes ecuaciones (el lectorinteresado puede ver todo el proceso en [1, 11]).

Dz|n+1/2i,j = Cx|iCy|jDz|n−1/2

i,j + Bx|iBy|j 12

[Hy|ni+1/2,j −Hy|ni−1/2,j−

Hx|ni,j+1/2 + Hx|ni,j−1/2

], (3.76)

Ce|i,j =[Ez|n+1/2

i+1,j − Ez|n+1/2i,j

], (3.77)

IHy |n+1/2i+1/2,j = IHy |n+1/2

i−1/2,j + Ay|jCe|i,j , (3.78)

Hy|n+1i+1/2,j = Cx|i+1/2Hy|ni+1/2,j −Bx|i+1/2

12

[Cei, j + IHy |n+1/2

i+1/2,j

], (3.79)

Ce|i,j =[Ez|n+1/2

i,j − Ez|n+1/2i,j+1

], (3.80)

IHx |n+1/2i,j+1/2 = IHx |n+1/2

i,j+1/2 + Ax|iCe|i,j , (3.81)

Hx|n+1i,j+1/2 = Cy|j+1/2Hx|ni,j+1/2 −By|j+1/2

12

[Cei, j + IHx |n+1/2

i,j+1/2

]. (3.82)

Los valores de las constantes que conforman la PML se fijan de la siguiente formasegún [1, 11]:

Page 101: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 69

Am|n = 0,333(

n

NPML

)3

m = x óy, n = 1, 2, . . . , NPML, (3.83)

Bm|n =(

11 + Am|n

), (3.84)

Cm|n =(

1−Am|n1 + Am|n

). (3.85)

En la Figura 3.10 se muestra un ejemplo de como una pulso propagándose hacialos extremos de la red, se atenúa al entrar en contacto con las PMLs.

01

23

4

1

2

3

4

-0,03-0,02-0,01

00,010,020,030,04

a)

01

23

4

1

2

3

4-0,03-0,02-0,01

00,010,020,03

b)

Ez (V

/m

)

x (µm) x (µm)y (µm) y (µm)

Figura 3.10: Ejemplo del efecto de las PMLs con un pulso propagándose hacia los extremosde la red para el caso bidimensional. a) t = 60∆t. b) t = 75∆t

3.2.3. Formulación de campo total y campo dispersado

La formulación de Campo Total-Campo Dispersado (CT-CD) [1, 3] y [12, 13] seideó con el propósito de poder predecir la sección radar de elementos mediante lailuminación con ondas planas de tipo arbitrario. En nuestro caso, es una herramientaútil para poder estudiar el comportamiento de elementos ópticos ante la incidenciade una onda plana.

Page 102: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

70CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

La formulación se basa en la linealidad de las ecuaciones de Maxwell y en ladescomposición de los campos de la siguiente manera:

Etot = Einc + Edisp, (3.86)Htot = Hinc + Hdisp, (3.87)

donde Einc y Hinc son los valores del campo de la onda incidente que son conocidosen todo el mallado para cada iteración del algoritmo. Éste sería el campo total en elcaso de propagación en el vacío, pero en el caso de que existan elementos que provo-quen una perturbación en el campo, Edisp y Hdisp representarían dicha contribuciónal campo total. El algoritmo de las FDTD puede ser aplicado por igual haciendouna distinción entre regiones, separadas por una superficie virtual que delimita laseparación entre la región de campo total y de campo dispersado.

En la región de campo total, el algoritmo de Yee se aplica sobre todos los campos(incidente y dispersado), y en el interior de esta zona se encuentran los elementosque perturbarán la distribución de campo. Es decir, se trata de la región donde seproduce la interacción entre el campo electromagnético con el dispositivo fotónicoconsiderado.

En la región de campo dispersado, el algoritmo de Yee únicamente tiene en cuen-ta las componentes de campo dispersado confinando la onda incidente en la regióninterna del campo total. En general, en aplicaciones de óptica difractiva suele serde interés analizar una zona de observación, que está espacialmente separada delcampo incidente, y que se correspondería con la región del campo dispersado. Enuna simulación numérica la separación espacial implicaría aumentar considerable-mente el tamaño de la malla de simulación con el consiguiente aumento del costecomputacional y de memoria. La región de campo dispersado esta en contacto conlas capas PMLs. Dicha configuración, permite que las ondas que lleguen a las PMLssean de un nivel reducido ya que no está presente la onda incidente, reduciendo laamplitud de las reflexiones en la región de la PML.

A las celdas que sirven de interfase entre ambas regiones, se les aplica un con-junto de ecuaciones denominadas Connecting Conditions (3.90)-(3.95), que permitenconfinar el haz incidente en el interior de la región de campo total.

En la Figura 3.11 se muestra un esquema donde aparecen las zonas comentadas.También se muestra un vector unidimensional que contiene los valores del campoincidente, para incidencia normal (k = y) en toda la región de campo total. Estevector es necesario para forzar la fuente en cada punto del espacio del campo totaly permite aplicar las connecting conditions en las celdas que separan las regiones decampo total y campo dispersado. El crear un vector en lugar de una matriz parala fuente es debido a que se asume que la onda plana viajará paralela al eje y ya

Page 103: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 71

que los valores del campo incidente a lo largo del eje x son iguales y por lo tantoes innecesario almacenar dicha información redundante. Como última ventaja, cabemencionar que al ser un array unidimensional pueden aplicarse las condiciones decontorno CFA vistas en el apartado 3.1.3 en lugar de las PMLs.

x

y

NPMLRegión PML

Campo Total

Campo dispersadoja

jb

ia ib

Generación

de la onda

incidente

Sustracción

de la onda

incidente

Vector unidimensional

con la fuente y las CFA

Figura 3.11: Esquema del problema bidimensional con la formulación CT-CD y PMLs.

Las Connecting Conditions pueden deducirse de manera sencilla, con la ayudade la Figura 3.12 en la cual se puede ver como el cálculo de las componentes deEz recurre a los valores contiguos de Hx y Hy. Algunos de estos valores puedenencontrarse fuera de la región de campo total.

Para ilustrar este problema, podemos obtener la relación de Ez con las compo-nentes del campo magnético adyacentes en una región de la interfase, por ejemplo,en la línea fijada por i = ia e j = ja, . . . , jb.

Eztot |n+1ia,j = Eztot |n+1

ia,j +∆t

ε0∆x

(Hytot |n+1/2

ia+1/2,j −Hytot |n+1/2ia−1/2,j +

Hxdisp |n+1/2ia,j−1/2 −Hxtot |n+1/2

ia,j+1/2

)+

∆t

ε0∆xHxinc |n+1/2

ia,j−1/2,(3.88)

Hxdisp |n+1/2ia,j−1/2 = Hxdisp |n+1/2

ia,j−1/2 + Hxinc |n+1/2ia,j−1/2, (3.89)

donde podemos ver que se ha añadido un término de campo incidente (Hxinc |n+1/2ia,j−1/2)

para mantener la coherencia de las expresiones (3.86)-(3.87). Cabe mencionar que lostérminos del interior del paréntesis, son conocidos y presentes en memoria en tiempode ejecución del algoritmo, mientras que el campo incidente es conocido ya que vienedefinida por el usuario y obtenido a partir de una expresión analítica.

Page 104: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

72CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

Campo incidente necesario

a) Hx b)Hy Puntos especiales de Ez

Region de Campo Total

j =

ja

j =

ja -1

/2

j =

jb

j =

jb +

1/2

i=ia

i=ia -1/2

i=ib

i=ib +1/2

Interfase entre la región de

Campo Total y Campo Dispersado

Figura 3.12: Componentes del campo con polarización TE donde se aprecian las interfasesentre la región de campo total y campo dispersado

El resto de las Connecting Conditions pueden ser obtenidas de manera similar,particularizando las expresiones de cada una de las componentes de cada una de lasaristas que delimitan el área de campo total y de campo dispersado. A continuaciónse muestran todas las Connecting Conditions para las tres componentes del campoinvolucradas, teniendo en cuenta que la expresión (3.88) puede reescribirse de unamanera más compacta haciendo referencia a la expresión (3.36) (la cual puede ser re-definida en términos de campo eléctrico en lugar de vector desplazamiento de manerasencilla, recurriendo a la ecuación (3.33). Así estas Connecting Conditions serían:

1. Para la componente Ez en j = ja y j = jb

Ez|n+1i,ja

=

Ez|n+1i,ja

(3.36)

+∆t

ε0∆xHxinc |ja−1/2, (3.90)

Ez|n+1i,jb

=

Ez|n+1i,jb

(3.36)

− ∆t

ε0∆xHxinc |jb+1/2. (3.91)

Page 105: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 73

2. Para la componente Hx en j = ja y j = jb

Hx|n+1/2i,ja−1/2 =

Hx|n+1/2

i,ja−1/2

(3.39)

+∆t

µ0∆zEzinc |ja, (3.92)

Hx|n+1/2i,jb+1/2 =

Hx|n+1/2

i,jb+1/2

(3.39)

− ∆t

µ0∆zEzinc |jb. (3.93)

3. Para la compenente Hy en i = ia e i = ib

Hy|n+1/2ia−1/2,j =

Hy|n+1/2

ia−1/2,j

(3.40)

− ∆t

µ0∆zEzinc |j , (3.94)

Hy|n+1/2ib+1/2,j =

Hy|n+1/2

ib+1/2,j

(3.40)

+∆t

µ0∆zEzinc |j . (3.95)

En la Figura 3.13 se muestra una secuencia de la simulación de una onda planapropagándose en el espacio libre con incidencia normal. La onda plana se genera enel plano y = 15∆x = 30 cm y es suprimida en el plano y = 45∆x = 90 cm.

0 2 4 6 8 10

05

10

-0,5

0

0,5

y (µm)

a)

x (µm)

b)

c) d)

Ez (V

/m

)

0 2 4 6 8 10

05

10

-0,5

0

0,5

y (µm)x (µm)

Ez (V

/m

)

0 2 4 6 8 100

510

-0,5

0

0,5

y (µm)x (µm)

Ez (V

/m

)

0 2 4 6 8 10

05

10

-0,5

0

0,5

y (µm)x (µm)

Ez (V

/m

)

Figura 3.13: Simulación de una onda plana propagándose a lo largo del espacio libre.a)t = 60∆t b) t = 80∆t c) t = 95∆t. d) t = 100∆t

Para introducir una onda plana con un ángulo de incidencia arbitrario es nece-sario reformular las connectiong conditions. Esta tarea se basa principalmente enla generación de lo que se conoce como la tabla de verdad (look-up table[3]) que

Page 106: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

74CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

permite describir el comportamiento de una onda plana con indcidencia arbitrariasin tener que calcular y almacenar el valor del campo incidente en toda la regiónde campo total. Únicamente es necesario el cómputo de un vector unidimensionalque posteriormente es procesado para calcular el valor exacto del campo que hayque introducir en las ecuaciones (3.90)-(3.95). El punto (i0, j0) será el primer puntodel mallado que entrará en contacto con el vector de onda incidente. Este punto, seestablece como el origen de coordenadas a la hora de calcular el retardo de cada unode los puntos de las connecting conditions. Para cada punto de la interfase se calculael retardo y con él, la posición dentro del vector incidente que entraría en contactocon el punto de la interfase de interés. Un ejemplo esquemático de este proceso semuestra en al Figura 3.14, donde se ilustra para un punto de la interfase (situado enrcomp) la proyección sobre el vector de onda incidente.

Región de Campo Total

j =

ja

j =

ja-1

/2

j =

jb

j =

jb +

1/2

i = ia

i = ia-1/2

i = ib

i =ib+1/2

kinc

EzincHxinc

d

rcomp

m0

m0 -

1

0º <φ< 90º

Ez

Hx

Hy

Figura 3.14: Diagrama del cálculo del campo incidente en la interfase entre regiones apartir del vector de campo incidente

Page 107: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 75

El retardo en muestras se calcula a partir de la siguiente ecuación:

ndelay =d∆

vp(φ)∆t(3.96)

donde vp(φ) hace referencia a la expresión (3.54) y define la velocidad de fase numéri-ca de la onda incidente con un ángulo de propagación φ(véase sección 3.2.1). Ladistancia en celdas desde el origen de coordenadas (i0, j0) hasta la componente delcampo en cuestión es d, la cual puede expresarse como sigue:

d = kinc · −→r comp, (3.97)

donde kinc es el vector de onda incidente definido por

kinc = x sin(φ) + y cosφ, (3.98)

y −→r comp es la posición desde el origen hasta la posición de la componente del campoen la que se quiere calcular la proyección del vector campo incidente definida por

−→r comp = x (icomp − i0) + y (jcomp − j0) (3.99)

donde icomp y jcomp son enteros ±1/2 ya que las componentes del campo eléctrico ymagnético pueden estar situadas en el punto medio entre celdas.

El procedimiento para calcular el campo en cada uno de los puntos de la interfasereside en obtener la proyección del campo incidente en el punto de la interfase. Paracada instante de tiempo, la propagación unidimensional del vector campo incidentese realiza teniendo en cuenta el ángulo de incidencia y por tanto la diferencia develocidad de fase numérica a aplicar según (3.54). Calculando la distancia d para unpunto en concreto de la malla TE, el campo incidente en dicho punto puede obtenersea partir de una interpolación lineal de los valores del campo adyacentes al puntom0 + d en el vector unidimensional. En la Figura 3.14 se muestra la representacióngeométrica para un ángulo φ comprendido entre 0o y 180o.

Mediante este procedimiento, únicamente se computa la función analítica parailuminar el mallado reduciendo los costes computacionales de manera considerable.Las ecuaciones para el vector incidente unidimensional han de ser redefinidas paraque tengan en cuenta la variación de la velocidad de fase numérica.

Hinc|n+1/2m+1/2 = Hinc|n+1/2

m+1/2 +∆t

µ0∆[

vp(φ=0ovp(φ)

] (Einc|nm − Einc|nm+1

), (3.100)

Einc|n+1m = Einc|n+1

m +∆t

ε0∆[

vp(φ=0ovp(φ)

](Hinc|n+1/2

m−1/2 −Hinc|n+1/2m+1/2

).(3.101)

Page 108: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

76CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

La interpolación lineal se lleva a cabo mediante las siguientes expresiones teniendoen cuenta que la notación FLOOR(r) indica el máximo entero contemplado en r.

d′ = d− FLOOR(d)Einc|nd = (1− d′)Einc|nm0+FLOOR(d) + d′Einc|nm0+FLOOR(d)+1 (3.102)

Para el campo magnético localizado en d, tenemos expresiones similares talescomo

d′′ = d + 1/2d′ = d− FLOOR(d)

Hinc|n+1/2d = (1− d′)Hinc|n+1/2

m0−1/2+FLOOR(d′′) + d′Hinc|n+1/2m0+1/2+FLOOR(d′′)(3.103)

Finalmente, para calcular las contribuciones del campo incidente en las ecuaciones(3.90)-(3.95) basta con calcular las componentes del campo en las tres coordenadasdel espacio. Para el caso TE bajo estudio, las expresiones quedan de la siguienteforma:

Ezinc |nd = Einc|nd , (3.104)

Hxinc |n+1/2d = −Hinc|n+1/2

d cos(φ), (3.105)

Hyinc |n+1/2d = Hinc|n+1/2

d sin(φ). (3.106)(3.107)

En la Figura 3.15 se muestra la evolución de una onda plana propagándose en laregión de campo total con un ángulo de 30o respecto al eje y.

3.2.4. Transformación de campo cercano a lejano en dosdimensiones

El estudio de diversos dispositivos electromagnéticos u ópticos, hace necesarioconocer la distribución del campo en regiones alejadas en términos de longitudesde onda. El algoritmo de las FDTD se suele utilizar para calcular la distribuciónde campos en la región de campo cercano o de fuentes. La extensión del malladohasta regiones alejadas, repercute de manera directa en el coste computacional y enlos recursos del sistema a utilizar. Por ello, existen diferentes técnicas que se basanen propagar los campos electromagnéticos desde zonas cercanas a la fuente hasta

Page 109: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 77

x(µm)

(a)

0 2

0

1

2

3

(b)

0 2

0

1

2

3-0.5

0

0.5

-0.5

0

0.5

y(µm)

(c)

0 2

0

1

2

3 -0.5

0

0.5

(d)

0 2

0

1

2

3 -0.5

0

0.5x(µm)

x(µm)

x(µm)

y(µm)

y(µm)y(µm)

Figura 3.15: Simulación de una onda plana propagándose a lo largo del espacio libre conφ=30o .a) t = 80∆t b) t = 90∆t c) t = 100∆t. d) t = 110∆t.

regiones alejadas evitando aumentar los límites de la región de simulación para queel campo lejano esté comprendido en el interior del mallado a resolver.

Un gran número de las transformaciones de campo cercano a campo lejano sebasan en el principio de equivalencia, introducido en 1936 por Schelkunoff [14] quepermite modelar los campos en el exterior de una superficie cerrada imaginaria quecontenga las cargas, sustituyendolas por unas corrientes ficticias en la superficie imag-inaria que cumplan las condiciones de contorno del problema. Este principio ha sidoutilizado por numerosos autores [15–19] para resolver las ecuaciones integrales en eldominio del tiempo de los campos electromagnéticos (Time Domain Integral Expres-sion TDIE).

Por otro lado, en el caso bidimensional, las ecuaciones TDIE en dos dimensionesya no se pueden plantear de una manera tan directa que para el caso tridimensional.Por lo tanto, para el caso bidimensional, Luebbers et. al.[20] propuso en su trabajoun algoritmo mixto que involucraba tanto el dominio temporal como el espectral.

Page 110: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

78CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

Este método hacía uso de dos transformadas de Fourier para obtener la respuestatemporal. En este trabajo, se ha implementado un método alternativo basado en elprincipio de equivalencia en el dominio del tiempo [21], evaluando directamente laecuación TDIE para el caso bidimensional. El procedimiento permite implementar unalgoritmo sencillo que consiste en la solución de una integral doble. Este algoritmo,puede ser implementado en tiempo de ejecución y permite propagar los camposelectromagnéticos calculados en campo cercano a una posición en campo lejano queno tiene por que estar comprendida dentro de la región de simulación.

El principio de equivalencia [2] permite sustituir las fuentes que originan los cam-pos por un conjunto de densidades de corrientes superficiales tanto eléctricas comomagnéticas localizadas en la región de campo cercano. Éstas corrientes se definenpor las siguientes relaciones:

JS(r′, t) = n×H(r′, t), (3.108)MS(r′, t) = −n×E(r′, t), (3.109)

donde n es el vector normal con dirección de salida a la superficie. Las variablesprimadas hacen referencia a la fuente mientras que las variables sin la prima secorresponden con la posición en la que se quiere calcular el campo. Para resolver elproblema bidimensional, se recurre a formular un problema tridimensional con un ejez infinito. La notación y el esquema ilustrado en la Figura 3.16 muestra la superficierectangular a integrar y la variables involucradas:

x

y

Contorno

La

E

Hk

Plejanor'

ρ'

r

R

z'

z

ρ

P Plejanoproy

Figura 3.16: Esquema de la transformación de campo cercano a lejano.

Page 111: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 79

Plejano = Punto a calcular el campo lejano.

P projlejano = proyección de Plejano sobre el plano z = 0.

r = vector de posición en la zona de observación.ρ = proyección de r sobre el plano z = 0.r′ = vector de posición de la fuente.ρ′ = proyección de r′ sobre el plano z = 0.R = vector desde la fuente hasta el punto en campo lejanoP = proyección de R sobre el plano z = 0.

La manera en la que las densidades de corriente contribuyen a los campos radiadoses de la forma [22]:

E(r, t)rade = µ0

∫S′

([∂tJS(r′,t)]τ×R)×R

R3 dS′, (3.110)

E(r, t)radm = − 1

4πc0

∫S′

([∂tMS(r′,t)]τ×R)×R

R2 dS′, (3.111)(3.112)

donde R = r − r′ es el vector comprendido entre la región de fuente y el punto encampo lejano. El subíndice τ = t− (R/c) indica un retardo temporal. El campo eléc-trico total es la superposición de las contribuciones provocadas por ambas corrientes:E(r, t)rad = E(r, t)rad

e + E(r, t)radm .

El principio de funcionamiento de este método, basándose en trabajos prévios[21, 23], radica en la evaluación de la integral a lo largo del plano z′, teniendo encuenta que las propiedades de traslación de la delta de Dirac. Definiendo dS′ = dl′dz′,y tomando La como el contorno de la sección transversal de la superficie, podemosdefinir la siguiente expresión para la contribución al campo eléctrico de la densidadde corrientes magnética:

E(ρ, t)radm = − 1

4πc

La

dl′∫ z′=+∞

z′=−∞

∫ t′=+∞

t′=−∞

∂t′MS(ρ′, t′)×RR2

×

δ

(t′ −

(t− R

c

))dt′. (3.113)

Intercambiando el orden de las integrales en z′ y en t′ así como incluyendo larelación R = P− z′z,

Page 112: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

80CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

∫ z′=+∞

z′=−∞

∂t′MS(ρ′, t′)×RR2

· δ(

t′ −(

t− R

c

))dz′

=∫ z′=+∞

z′=−∞

∂t′MS(ρ′, t′)×PP 2 + z′2

· δ(√

P 2 + z′2

c− t + t′

)dz′

+z ·∫ z′=+∞

z′=−∞

z′∂t′MS(ρ′, t′)P 2 + z′2

· δ(√

P 2 + z′2

c− t + t′

), (3.114)

donde se puede comprobar que el segundo término es nulo ya que la integral es paren z′. El integrando del primer término es impar, por lo que el valor de su integraldesde −∞ hasta +∞ es el doble de la integral desde 0 hasta +∞. Teniendo en cuentaestos factores, se puede realizar el siguiente cambio de variable:

ξ =√

P 2 + z′2

c, (3.115)

y recurriendo a la propiedad de la translación de la delta de Dirac:

∫ ξ=∞

ξ=Pc

δ (ξ − t + t′)ξ√

c2ξ2 − P 2dξ =

1

(t−t′)√

c2(t−t′)2−P 2, si t− t′ > P

c

0, si t− t′ < Pc

∞, si t− t′ = Pc

(3.116)

Por lo que podemos reescribir el primer término de la ecuación (3.114) de lasiguiente forma:

E(ρ, t)radm = − 1

La

dl′∫ t′=t−P/c

t′=−∞

P∂t′MS(ρ′, t′)× P

c(t− t′)√

c2(t− t′)2 − P 2dt′. (3.117)

La contribución del campo eléctrico debida al término dependiente de la densidadde corriente eléctrica se puede obtener de manera análoga [21]:

E(ρ, t)rade = −µ0c

La

dl′∫ t′=t−P/c

t′=−∞

P 2∂t′JS(ρ′, t′)× P

c(t− t′)√

c2(t− t′)2 − P 2sdt′. (3.118)

Page 113: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.2 Formulación FDTD para el caso 2-D 81

Las expresiones (3.117) y (3.118) puede simplificarse dado que ambos tiene tienenun límite cuando P tiende a ∞ de la forma:

limP→∞∫ t′=t−(P/c)

t′=−∞

f(t′)Pn

cn(t− t′)n√

c2(t− t′)2 − P 2dt′ =

∫ t′=t−(P/c)

t′=−∞

f(t′)√2ρ

√c(t− t′)− P

dt′ (3.119)

De la misma forma, el límite de P cuando P tiende a ∞ tiende a ρ, por lo que laexpresión final para el campo eléctrico quedaría de la siguiente forma:

E(r, t)far = − 12π√

2√

r

La

∫ t′=t−R/c0

t′=−∞

η0∂t′JS(r′, t) + ∂t′MS(r′, t)× r√c0(t− t′)−R

dl′dt′,

(3.120)

La resolución de la integral impropia (3.120) cuando t′ → (t−R/c0)−, se lleva acabo combinando técnicas numéricas y analíticas [21, 24].

Para verificar la precisión de la transformación, se llevará a cabo una simulaciónque contiene una apertura. Dicha apertura es iluminada mediante la formulaciónde CT-CD vista en el capítulo 3.2.4. La simulación también incluye una región dePMLs detallada en la sección 3.2.2. En la Figura 3.17.a se muestra un diagramaesquemático de la simulación realizada así como la comparativa entre los camposobtenidos a partir de la transformación (la cual propaga los campos obtenidos por elmétodo de las DFDT en el plano de la apertura) y los calculados numéricamente apartir del método DFDT en cada uno de los puntos de campo lejano (Figura 3.17.b).Se puede ver, como las curvas del campo eléctrico calculado a partir de la transforma-ción presentan valores prácticamente coincidentes con los calculados vía numérica;lo que demuestra la precisión del método implementado.

Page 114: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

82CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

-1

0

1

(b)

DFDTCC-CL

-0,20

0,2

(c)

DFDTCC-CL

0 0,005 0,01 0,015 0,02 0,025 0,03 0,035-0,5

0

0,5

Tiempo (ps)

Ez (V

/m

)

(d)

DFDTCC-CL

Punto 1

Punto 2

Punto 3

Conductor perfecto

Onda plana CT-CD

λ=633 nm

5,3 µm (100 celdas)

5,3 µm

(100 celdas) Apertura

a=1,1 µm

(20 celdas)

Region PML

(a)

Ez (V

/m

)E

z (V

/m

)

Figura 3.17: Validación de la transformación de campo cercano a lejano . a) Diagramade la simulación para validar la transformación de campo cercano a lejano. Se muestra laposición de los tres puntos donde se calculan los campos mediante el método de las DFDT ymediante la transformación de campo cercano a lejano a partir de los campos en la apertura.b) Campo Ez para el punto 1. c) Campo Ez para el punto 2. d) Campo Ez para el punto 1

Page 115: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.3 Formulación FDTD para el caso 3-D 83

3.3. Formulación FDTD para el caso 3-D

En 1966, Kane Yee desarrollo a partir de las ecuaciones de Maxwell, un algoritmoaplicado a lo que hoy en día se conoce como la celda de Yee [25] (véase Figura 3.18). Eltrabajo de Yee, se basa en las relaciones de las ecuaciones de Maxwell, que muestranla dependencia entre las variaciones temporales del campo y su relación con lasvariaciones espaciales. En la Figura 3.18 se aprecia que las componentes vectorialesE y H están entrelazados en el interior de la celda, centrada en los índices i, j, kpara las coordenadas espaciales x, y, z respectivamente. A partir de las ecuaciones deMaxwell (3.1) y (3.3) se puede obtener un conjunto de seis ecuaciones que modelanel campo electromagnético en un problema tridimensional:

∂Dx

∂t=

1√ε0µ0

(∂Hz

∂y− ∂Hy

∂z

), (3.121)

∂Dy

∂t=

1√ε0µ0

(∂Hx

∂z− ∂Hz

∂x

), (3.122)

∂Dz

∂t=

1√ε0µ0

(∂Hy

∂x− ∂Hx

∂y

), (3.123)

∂Hx

∂t=

1√ε0µ0

(∂Ey

∂z− ∂Ez

∂y

), (3.124)

∂Hy

∂t=

1√ε0µ0

(∂Ez

∂x− ∂Ex

∂z

), (3.125)

∂Hz

∂t=

1√ε0µ0

(∂Ex

∂y− ∂Ey

∂x

). (3.126)

El siguiente paso es tomar la aproximación de las derivadas por las diferenciascentrales, tal como hemos realizado en los apartados anteriores. Como ejemplo, úni-camente se va a desarrollar la expresión (3.123), para el resto el procedimiento seríasimilar.

Dz|n+1/2i,j,k+1/2 = Dz|n−1/2

i,j,k+1/2 +∆t

∆x√

µ0ε0

(Hy|ni+1/2,j,k+1/2−

Hy|ni−1/,j,k+1/2 −Hx|ni,j+1/2,K+1/2 + Hx|ni,j−1/2,k+1/2

). (3.127)

Finalmente, se obtendría un conjunto de seis ecuaciones (tres para el vectordesplazamiento y otras tres para el campo magnético). El método de resolución de

Page 116: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

84CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

(i,j,k)(i,j+1,k)

(i,j,k+1)

(i+1,j,k)

Ez

Ex

Ey

Hx

Hz

Hy

x

y

z

Figura 3.18: Celda de Yee para el caso tridimensional

este sistema de ecuaciones es conocido como el algoritmo leapfrog, que se basa encalcular de manera iterativa las componentes del campo eléctrico a partir del campoeléctrico y magnético calculado previamente. A continuación se realiza el mismoprocedimiento para el campo magnético donde se toman los valores calculados en elpaso anterior del campo eléctrico. Este proceso se repite para cada iteración temporal,por lo que al acabar cada ciclo se disponen de los valores del campo electromagnéticopara dicho instante de tiempo en toda la región de simulación. Un diagrama de flujoen la Figura 3.19 resume el procedimiento mencionado.

3.3.1. Generalización de las condiciones de frontera a tresdimensiones

El formalismo de las PMLs para el caso 3-D es similar al explicado para el casode dos dimensiones. La ecuación (3.73) puede ser replanteada para el caso 3-D de lasiguiente forma:

jωDz

(1 +

σD(x)jωε0

)(1 +

σD(y)jωε0

(1 +

σD(z)jωε0

)−1

= c0

(∂Hy

∂x− ∂Hx

∂y

), (3.128)

El desarrollo de esta expresión es similar al realizado en el apartado anterior, por loque reorganizando términos y teniendo en cuenta que los términos 1/jω se conviertenen una integral en el dominio temporal. La expresión (3.128) puede ser redefinida

Page 117: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.3 Formulación FDTD para el caso 3-D 85

tn=n∆t

NO

END

Dn+1/2

Hn

En+1/2

Dn

Dn-1/2

C

Hn+1

HnEn+1/2

tn =tn+1

tn=nsteps

~ ~

~ ~

~

Figura 3.19: Diagrama de flujo del algoritmo leapfrog.

agrupando el término que involucra derivadas espaciales en la variable CH , tal ycomo sigue:

jωDz

(1 +

σD(x)jωε0

)(1 +

σD(y)jωε0

)= c0

(1 +

σD(z)jωε0

)(∂Hy

∂x− ∂Hx

∂y

)

c0 · CH + c0σz(z)

ε0

1jω

CH , (3.129)

donde definimosIDz =

1jω

CH . (3.130)

Por lo que reorganizando términos de la expresión obtenemos el siguiente con-junto de ecuaciones a introducir en nuestro algoritmo.

CH =[Hy|ni+1/2,j,k+1/2 −Hy|ni−1/2,j,k+1/2−

Hx|ni,j+1/2,k+1/2 + Hx|ni,j−1/2,k+1/2

](3.131)

IDz |ni,j,k+1/2 = IDz |n−1i,j,k+1/2 + CH (3.132)

Dz|n+1/2i,j,k+1/2 = Cx|iCy|jDz|n−1/2

i,j,k+1/2 +

Bx|iBy|j 12

(CH + Az|kIDz |ni,j,k+1/2

)(3.133)

Page 118: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

86CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

La matriz IDz se ha limitado a la región de interés (PML) para reducir el requerim-iento en memoria, para ello, dicha matriz se ha segmentado en dos de dimensionesmás reducidas mejorando las prestaciones del algoritmo.

En la Figura 3.20 se muestra una simulación de un pulso propagándose en elvacío. Los gráficos representan la componente Ez en el plano xy a la altura de laexcitación.

02

4

02

4-0.01

0

0.01

0.02

y(µm)

(a)

x(µm)

Ez (

V/m

)

02

4

02

4-0,01

0

0,01

y(µm)

(b)

x(µm)

02

4

02

4-0,01

0

0,01

y(µm)

(c)

x(µm) 02

4

02

4-0,01

0

0,01

y(µm)

(d)

x(µm)

Ez (

V/m

)

Figura 3.20: Simulación de un pulso propagándose en el vacío con condiciones de fronterade Berenger (NPML=10). a) t = 65∆t.b) t = 100∆t.c) t = 125∆t. d) t = 160∆t.

3.3.2. Formulación campo total y campo dispersado entres dimensiones

La formulación de campo total-campo dispersado para el problema tridimensionales muy similar a la vista para el caso bidimensional (capítulo 3.2.1). La onda planaes generada en un plano en lugar de en una línea, y las condiciones de contornomostradas para el caso bidimensional (3.90)-(3.95), pasan de ser evaluadas en unalínea, a ser aplicadas a lo largo de un plano. Por otro lado, el problema tridimensional

Page 119: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.3 Formulación FDTD para el caso 3-D 87

añade una variable dimensional extra, implicando que las regiones de campo total ycampo dispersado pasen a ser cubos en lugar de planos. Por ello, surgen dos nuevosplanos en k = ka y en k = kb, los cuales se han de aplicar las connecting conditions[1],[3].

Dy|n+1i,j+1/2,ka

= Dy|n+1i,j+1/2,ka

− 12Hxinc |j , (3.134)

Dy|n+1i,j+1/2,kb+1 = Dy|n+1

i,j+1/2,kb+

12Hxinc |j . (3.135)

(i,j,k)

(i,j+1,k)

(i,j,k+1)

(i+1,j,k)x

y

z

ib

ia jbja

kb

kb

Generación de las

ondas planas en el

plano xz

Figura 3.21: Esquema tridimensional de las regiones de campo total y campo dispersado

Al igual que para el caso bidimensional, la formulación de campo total y campodispersado para tres dimensiones en incidencia normal puede ser extendido de manerasencilla al caso de incidencia oblicua aplicando las expresiones (3.104)-(3.106) enlugar de una línea, en los planos que conforman las Connecting Conditions.

En la Figura 3.22 se muestra la distribución del campo eléctrico en z para dosplanos perpendiculares de una simulación tridimensional. Podemos ver como la dis-tribución de campo incidente se confina únicamente en una región acotada por uncubo imaginario en el interior de la región de simulación.

3.3.3. Transformación de campo cercano a campo lejano

La aplicación del algoritmo de las DFDT a sistemas ópticos implica utilizar lon-gitudes de onda del orden de nanómetros, con lo que la resolución espacial es del

Page 120: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

88CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

1 2 3 4

02

41

2

3

4

(a)

1 2 3 4

02

41

2

3

4

(b)

1 2 3 4

02

41

2

3

4

(c)

1 2 3 4

02

41

2

3

4

(d)

z (µm

)z (µm

)

z (µm

)z (µm

)

y (µm)x (µm) y (µm)x (µm)

y (µm)x (µm)y (µm)x (µm)

Figura 3.22: Representación del campo eléctrico en z (Ez(V/m)) para diferentes instantesde tiempo. a) t = 75∆t.b) t = 100∆t.c) t = 110∆t. d) t = 125∆t

orden de décimas de nanómetro. El estudio de regiones grandes en óptica es usual,ya que normalmente se desean ver patrones de difracción en regiones consideradascomo campo lejano. Esto implicaría realizar mallados grandes contribuyendo a au-mentar el coste computacional y los requisitos de memoria. Por ello, se ha incluidouna herramienta de cálculo del campo lejano a partir de los valores de campo cer-cano [1],[3] y [19]. El método, se basa en crear unos arrays para almacenar el campoeléctrico en campo lejano. Para cada iteración temporal, cada elemento del array escalculado a partir de una suma recursiva de los campos en la región S′ fijada encampo cercano. Cada una de éstas contribuciones son retrasadas en el tiempo enfunción de la distancia entre los puntos de S′ y el punto de observación en campolejano.

Para ilustrar el formalismo matemático, tomaremos el ejemplo mostrado en [1],[19]basado en calcular el campo lejano de una apertura.

Comenzaremos con el planteamiento del potencial vector [2],[26]:

A(r) =14π

∫ ∫

SJS(r′)

ejkR

RdS′, (3.136)

Page 121: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.3 Formulación FDTD para el caso 3-D 89

donde

R = |r− r′| =[(x− x′)2 + (y − y′)2 + z2

], (3.137)

JS = Densidad de corriente, (3.138)ejkR

R= Función de Green. (3.139)

Las vectores primados se corresponden con la región de fuentes, mientras que losno primados se corresponden con la posición en el espacio donde se desea calcular elcampo. El campo magnético puede obtenerse a partir de la siguiente expresión:

H = ∇r ×A. (3.140)

Sustituyendo (3.136) en (3.140)

H =14π

S∇r ×

[JS(r′)

ejkR

R

]dS′. (3.141)

Teniendo en cuenta las identidades de campos vectoriales, que el término ∇r ×JS(r′) puede suprimirse ya que JS es función únicamente de r′ y considerando lassiguientes igualdades:

∇rejkR

R= −∇r

e−jkR

R,

∇re−jkR

R= −∇r

e−jkR

R

(jk +

1R

)r, (3.142)

donde

r = rxx + ryy + rz z =RR

. (3.143)

La ecuación (3.141) se puede replantear, tal y como sigue:

H =14π

∫ ∫

S′

(J(r′)× R

)(jk +

1R

)ejkR

R. (3.144)

Teniendo en cuenta el principio de dualidad [26], podemos definir una expresiónsimilar para las componentes del campo eléctrico:

E =14π

∫ ∫

S′

(M(r′)× R

)(jk +

1R

)ejkR

R, (3.145)

Page 122: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

90CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

donde las corrientes magnéticas definidas en M son una herramienta matemática denaturaleza física ficticia, que permite definir el campo eléctrico en la región S′. Parael caso de una apertura, M = 2Ea × n, donde Ea es el campo en la apertura.

Suponiendo polarización TE, y que jk = jw/c0, las expresión (3.145 se reescri-biría tal y como sigue:

Ez(x, y, z, w) =12π

∫ ∫

S′rxEajk

e−jkR

R+

12π

∫ ∫

S′rxEa

e−jkR

R2dS′, (3.146)

siendo rx es la distancia entre los puntos de fuente y campo lejano en el eje x. Parapoder ser implementadas en el algoritmo de las DFDT es necesario pasar al dominiotemporal, obteniendo la siguiente expresión:

Ez(x, y, z, w) =1

2πc0

∫ ∫

S′rx

d

dt

Ez(x′, y′, t−R/c0)R

dx′dy′ +

12π

∫ ∫

S′rx

Ez(x′, y′, t−R/c0)R2

dS′ (3.147)

Finalmente podemos substituir las integrales espaciales y temporales por sus corres-pondientes sumatorios.

Ez|ni,j,k =1π

i′

j′

rx

R∆x

[Ez|n−2R∆x

i′,j′,k′ − Ez|n−1−2R∆xi′,j′,k′

∆t+

Ez|n−2R∆xi′,j′,k′

2R∆x

], (3.148)

teniendo en cuenta que la distancia R ha sido redondeada al entero más próximo dela forma R ∼= ∆xR∆x.

A continuación se muestran los resultados obtenidos de la simulación de unaapertura. Para validar, la transformación de campo cercano a lejano, se han escogi-do tres puntos del interior del mallado (véase Figura 3.24.a), el campo eléctrico Ez

en dichos puntos se calcula directamente mediante el método DFDT y a partir dela transformación campo cercano a lejano haciendo uso del campo en la apertura.En la Figura 3.23 se muestran varios instantes de la simulación, mientras que enla Figura 3.24 se comparan los valores del campo Ez en en cada uno de los puntosmostrados en la Figura 3.24a obtenidas mediante el método de las DFDT y mediantela transformación de campo cercano a lejano. La curva continua se corresponde conlos valores del campo en función del tiempo, obtenidos directamente en los puntosseleccionados, mediante las DFDT, mientras que la curva a rayas muestran los val-ores del campo en función del tiempo estimados a partir del campo obtenido en laapertura mediante DFDT y propagados a los tres puntos escogidos. Se aprecia que lasimilutud entre los valores obtenidos mediante el cálculo directo del campo medianteel algoritmo DFDT y la transformación es notable.

Page 123: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

3.3 Formulación FDTD para el caso 3-D 91

a)

0 1 2 3 4 5 6

00,511,522,533,5

-0.8-0.6-0.4-0.200.20.40.60.8 b)

0 1 2 3 4 5 6

00,511,522,533,5

-0,2

0

0,2

0,4

0,6

0,8

c)

0 1 2 3 4 5 6

00,511,522,533,5 -1

-0,5

0

0,5 d)

0 1 2 3 4 5 6

00,511,522,533,5

-0,03-0,02-0,01

00,010,020,03

x (µm

)x (µm

)

y (µm)

y (µm)

y (µm)

y (µm)

x (µm

)x (µm

)

Figura 3.23: Capturas de la simulación del pulso propagándose e incidiendo en la ranura.a)t = 80∆t. b) t = 100∆. c) t = 120.∆t. d)t = 180.∆t

Page 124: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

92CAPÍTULO 3. MÉTODO DE LAS DIFERENCIAS FINITAS EN EL DOMINIO DEL

TIEMPO

0 50 100 150 200 250 300-1

-0,50

0,51

DFDTCC-CL

0 50 100 150 200 250 300-0,5

0

0,5

0 50 100 150 200 250 300-0,2

0

0,2

Iteraciones

b)

c)

d)

Punto 1

Punto 2

Punto 3

Conductor perfecto

Onda plana CT-CD

λ=633 nm

5,3 µm (100 celdas)

5,3 µm

(100 celdas) Apertura

a=1,1 µm

(20 celdas)

Region PML

a)

DFDTCC-CL

DFDTCC-CL

Figura 3.24: Validación de la transformación de campo cercano a lejano en tres dimen-siones. a) Diagrama de la simulación para validar la transformación de campo cercano alejano. Se muestra la posición de los tres puntos donde se calculan los campos mediante lasdos vías. A la derecha, se muestran las formas de onda del campo eléctrico Ez. b) Punto 1.c) Punto 2. d) Punto 3.

Page 125: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Bibliografía

[1] D. M. Sullivan. Electromagnetic Simulation using the FDTD Method. IEEEPress Editorial Board, 2000. ISBN 0-7803-4747-1.

[2] C. A. Balanis. Advanced Engineering Electromagnetics. New York: Wiley, 1989.

[3] A. Taflove. Computational Electrodynamics: The Finite-Difference Time-Domain Mehtod. Artech House Publishers, 1995.

[4] K. S. Kunz y R. J. Luebbers. The Finite Difference Time Domain Method forElectromagnetics. CRC Press, 1993. ISBN 0-8493-8657-8.

[5] M. Born y E. Wolf. Principles of Optics. Pergamon, Oxford, UK, 6a edición,1980.

[6] E. de los Reyes, L. Nuño, J. V. Balbastre, L. Juan, y V. Soriano. CamposElectromagnéticos II. Universidad Politécnica de Valencia, 1999.

[7] J. P. Berenger. A perfectly matched layer for the absoprption of electromagneticwaves. J. Comput. Phys, 114:185–200, 1994.

[8] J. P. Berenger. Three-dimensional perfectly matched layer for the absorption ofelectromagnetic waves. J. Comput. Phys, 127:363–379, 1995.

[9] Pérez-Ocón. Exponential discretization of the perfectly matched layer (PML)absorbing boundary condition simulation in FD-TD 3D. Optik - InternationalJournal for Light and Electron Optics, 113(8):354–360, 2002.

[10] D. M. Sullivan. A simplified pml for use with the fdtd method. Microwave andGuided Wave Letters, IEEE, 6(2):97–, Feb 1996.

[11] Z. S. Sacks, D. M. Kingsland, R. Lee, y J-L Lee. A perfectly matched anisotropicabsorber for use as an absorbing boundary condition. Antennas and Propaga-tion, IEEE Transactions on, 43(12):1460–1463, Dec 1995.

Page 126: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

94 BIBLIOGRAFÍA

[12] G. Mur. Absorbing boundary conditions for the finite-difference approximationof the time-domain electromagnetic field equations. IEEE Trans. Electromag-netic Compatibility, 23:377–382, 1981.

[13] Taflove A. Umashankar, K. R. A novel method to analyze electromagneticscattering of complex objects. IEEE Trans. Electromagnetic Compatibility, 24:397–405, 1982.

[14] S. A. Schelkunoff. Some equivalence theorems of electromagnetics and theirapplication to radiation problems. Bell Systems Tech. J., 15:92–112, 1936.

[15] M. J. Barth, M. M McLeod, y R. W Ziolkowski. A near and far-field projectionalgorithm for finite-difference time-domain codes. J. Electromag Waves Appl.,6:5–18, 1992.

[16] K. L. Shlager y G. S Smith. Near-field to near-field transformation for use withfdtd method and its application to pulsed antenna problems. Electron Lett, 30:1262–1264, 1994.

[17] K. L. Shlager y G. S Smith. Comparison of two fdtd near-field to far-fieldtransformations applied to pulsed antenna problems. Electron Lett, 31:936–938,1995.

[18] K. S. Yee, D. Ingham, y K. Shlager. Time-domain extrapolation to the far fieldbased on fdtd calculations. Antennas and Propagation, IEEE Transactions on,39(3):410–413, Mar 1991.

[19] Kunz K. S. Schneider M. Hunsberger F. Luebbers, R. J. A finite-differencetime-domain near zone to far zone transformation. IEEE Trans. Antennas andPropagation, 39:429–433, 1991.

[20] R. Luebbers, D. Ryan, y J. Beggs. A two-dimensional time-domain near-zoneto far-zone transformation. Antennas and Propagation, IEEE Transactions on,40(7):848–851, Jul 1992.

[21] S. González García, B. García Olmedo, y R. Gómez Martín. A time-domainnear- to far-field transformation for fdtd in two dimensions. Microwave andOptical Technology Letters, 27(6):427–432, December 2000.

[22] W Panofsky y M Phillips. Classical electricity and magnetism. Addison-Wesleyseries in physics, CA, 2nd edición, 1968.

[23] Leonard C. Bennett, Jr. A technique for computing approximate electromagneticimpulse response ofconducting bodies. PhD thesis, West Lafayette, IN, USA,1968.

Page 127: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

BIBLIOGRAFÍA 95

[24] F. Xu, W. Hong, y X. Zhu. A new time domain near field to far field trans-formation for fdtd in two dimensions. En Microwave Symposium Digest, 2002IEEE MTT-S International, volumen 3, pages 2057–2060, 2002.

[25] K. S. Yee. Numerical solution of initial boundary value problemas involvingmaxwell’s equations in isotropic media. IEEE Trans. on Antennas and Propa-gation, AP(17):585–589, 1966.

[26] R. Harrington. Time-Harmonic Electromagnetic Fields. New York: McGraw-Hill, 1961.

Page 128: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

96 BIBLIOGRAFÍA

Page 129: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 4

Optimización computacional

En este capítulo se van a introducir los conceptos relacionados con la arquitecturadel hardware utilizado para la implementación numérica, así como las estrategias con-sideradas para reducir el coste temporal del método de las DFDT. Un conocimientoelemental del funcionamiento del hardware es necesario, debido a que la optimizaciónen términos generales suele implicar un acercamiento al nivel físico (del hardware)desde el punto de vista de la programación. Con frecuencia, el programador de estetipo de aplicaciones no está pendiente de gestionar los recursos del dispositivo y es-pera que el sistema operativo y el propio microprocesador realice esta tarea por él,ejecutando las operaciones secuenciales en el menor tiempo posible. Sin embargo,un conocimiento más profundo de la arquitectura de los microprocesadores y de lasunidades de procesado gráfico actuales permiten explotar cualidades de las mismasque habitualmente no son utilizadas, e inclusive ignoradas en muchos casos. Este esun ejemplo de las instrucciones vectoriales proporcionadas en los microprocesadoresIntelTM desde el Pentium IIITM . Las cuales permiten realizar operaciones aritméticasen paralelo sobre un grupo de datos en el mismo tiempo que se realiza una operaciónconvencional sobre un único dato.

En primer lugar se presentará la arquitectura de los microprocesadores actualespara introducir el conjunto de instrucciones vectoriales utilizadas de manera implíci-ta en el cómputo del método numérico de las DFDT. En segundo lugar se introducirála arquitectura de las UPG basadas en la familia FermiTM . Esta clase de procesadoresgráficos comenzaron a comercializarse en el 2010 y son la evolución de la primerafamilia de procesadores gráficos diseñados expresamente para la computación cientí-fica. Una vez introducidas ambas arquitecturas, se detallarán las decisiones tomadaspara la optimización del método numérico en las UPC y en las UPG.

Page 130: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

98 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

4.1. Optimización del método de las DFDT enmicroprocesadores

4.1.1. Introducción a la arquitectura de los microproce-sadores

Los microprocesadores Intel actuales están basados en lo que se denomina microarquitectura del procesador Intel CoreTM detallada en la Figura 4.1. En dicha ilus-tración se muestra un diagrama de bloques, entre los que se identifican la UnidadAritmético Lógica (UAL) encargada de realizar las operaciones aritméticas, los blo-ques de gestión de entrada y salida, así como el gestor de instrucciones y la memoria.Cabe destacar que uno de los conceptos más importantes a la vista de la arquitecturamostrada en la Figura 4.1, es la jerarquía de memorias. En los microprocesadoresactuales existen diferentes niveles de memoria caché. Dichas memorias, generalmentese suelen numerar normalmente como L1, L2 y L3 [1, 2]. A medida que el númeroque las identifica aumenta, también lo hace su capacidad, así como la latencia, queaumenta a medida que la capacidad de la memoria también crece [3]. En la Tabla 4.1se muestra la latencia y el caudal (el cual define el número de ciclos necesariospara proporcionar un dato) para diferentes tipos de memoria. Por otro lado, cabe

2 M/4M

L2

Compartida

UAL

MMX/SSELectura Escritura

Gestión de

instrucciones

L1 Caché 32k

Figura 4.1: Arquitectura de procesador IntelTM

Core.

destacar que en la Figura 4.1 únicamente se muestra el diagrama de bloques bási-co de un núcleo, pero es ampliamente conocido la proliferación en la actualidad delos microprocesadores con varios núcleos o multinúcleos. Dentro de la familia de

Page 131: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 99

Nivel Capacidad Latencia (ciclos) Caudal (ciclos)L1 32 kB 3 1L2 2, 4 MB 14 2L3 8, 12, 16 MB ≈ 110 12

Tabla 4.1: Datos sobre la estructura de la memoria caché en los microprocesadores mod-ernos.

dichos microprocesadores existen diferentes variantes en función del tipo de micro-procesador. De manera esquemática y global se puede resumir la arquitectura de losmismos como dos procesadores integrados en el mismo encapsulado, los cuales cadauno de ellos presentan dos núcleos y por lo tanto dos hilos de ejecución. La jerarquíade memorias caché y su interconexión es una de las características que más se hainvestigado en los últimos años y lo que ha dado lugar a la última familia de micro-procesadores. Por ejemplo el procesador Intel Pentium D, incluye dos procesadoreslógicos en el interior del encapsulado, los cuales cada uno de ellos tiene un núcleode ejecución diferente y una jerarquía de caché separada del otro procesador. En losnuevos microprocesadores Intel Xeon (familia i7) se ha reducido la frontera físicade cada núcleo y las cachés se han estratificado y unificado para interconectar demanera más eficiente cada uno de los núcleos de cada procesador, al mismo tiempoque ha aumentado el número de procesadores en el interior del encapsulado.

Cada uno de los bloques se encarga de realizar diferentes procesos, como es elcaso de la UAL la cual se encarga de realizar las operaciones matemáticas y/o lógicassobre números enteros, de coma flotante tanto de precisión simple como de doble,etcétera. La realización de estas operaciones suele tener asociada un número de ciclosdesde que los operandos entran en la unidad hasta que el resultado final es calculadoy disponible para futuras operaciones o el almacenamiento en memoria. Este tipo deunidades son las que se utilizan de manera convencional cuando un usuario progra-ma en lenguajes de alto nivel operaciones aritméticas básicas como sumas, restas,divisiones o multiplicaciones.

En cambio, también están disponibles el conjunto de registros MultiMedia eXten-sion o Multiple Math o Matrix Math eXtension (MMX). Esta tecnología fue incluidapor IntelTM en 1997 a partir de los microprocesadores de la familia PentiumTM .El funcionamiento de cada uno de estos registros MMX de 64 bits se basa en laposibilidad de almacenar y procesar diferentes datos de longitud menor o igual a 64bits. Por ejemplo, en un registro MMX se puede almacenar una palabra de 64 bits, odos enteros de 32 bits o 4 enteros de 16 bits. La ejecución de instrucciones aritméti-cas se realiza sobre todo el registro pudiendo obtener el resultado sobre 1 o variosoperandos en el mismo número de ciclos de reloj. Sin embargo, el juego de instruc-

Page 132: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

100 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

ciones MMX presentaba algunos inconvenientes, como por ejemplo la incapacidad detrabajar con números de coma flotante. Por ello, IntelTM en 1999 actualizó el con-junto de instrucciones MMX con las nuevas Streaming SIMD Extensions (SSE) conel Pentium III. El objetivo perseguido con estas instrucciones era el de mejorar lasprestaciones multimedia de los microprocesadores: codificación y decodificación devídeo, computación científica o procesamiento gráfico tridimensionales entre otras.Algunas de las características que necesitan cumplir las instrucciones a implementarcon este recurso se listan a continuación [1]:

Paralelismo inherente: Lo que implica que se puedan realizar cálculos en parale-lo sin haber conflictos entre los datos debido a dependencias entre los mismos.

Acceso a memoria ordenado: Uno de los factores más importantes en la reali-zación óptima de una aplicación es la latencia producida por fallos de página.Un fallo de página ocurre cuando un dato no está presente en la memoria cachéy el procesador necesita recurrir a la memoria global para recuperar dicha in-formación. En consecuencia, algún fragmento o página de la memoria cachédebe ser liberada para permitir la entrada de la información necesaria. Esteproceso es crítico, cuando la página que se libera de la caché es necesitada enun momento posterior.

Operaciones localizadas sobre un conjunto de datos: Si el algoritmo realiza unasoperaciones concretas sobre un conjunto de datos, estas pueden realizarse deuna vez sobre los datos que con seguridad estarán presentes en las memoriasmás rápidas del sistema.

Flujo de control independiente de los datos: Este posiblemente, sea uno de losrequisitos más complejos de satisfacer ya que no depende del programador engran medida sino del propio algoritmo. Si el algoritmo presenta una estructuraindependiente de los datos, es decir, evitando saltos condicionales que puedanmodificar el flujo de información del algoritmo, la paralelización y el uso deinstrucciones vectoriales es aplicable y proporciona en la mayoría de los casosresultados satisfactorios.

Las novedades más significativas de estas instrucciones respecto al juego MMXfue la capacidad de trabajar con datos en coma flotante de precisión simple (32bits) a través de ocho registros (xmm0 al xmm7) de 128 bits cada uno de ellos con laposibilidad de almacenar 4 números de 32 bits. En la Figura 4.2 se muestra el cambiode filosofía entre el uso de instrucciones individuales para datos únicos (conocido máspopularmente por el término anglosajón Single Instruction, Single Data (SISD)). Enla Figura 4.2a se muestra el caso del uso de una operación aritmética de tipo suma

Page 133: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 101

C

A

B

+

1x32-bit

+

1x32-bit

+

1x32-bit

+

1x32-bit

B

+

1x32-bit

(a) (b)

Suma SIMDSuma SISD

Figura 4.2: Ejemplo de una operación de suma mediante SISD (a) y SIMD (b).

sobre la UAL convencional, mientras en la Figura 4.2b se ilustra la misma operaciónpero para el caso de cuatro palabras de 32 bits.

Aunque no hay una equivalencia directa general entre el número de ciclos nece-sarios por la UAL y los necesarios por las instrucciones SSE, de manera teórica seconsidera que el ratio de mejora entre el uso de los registros SSE frente a la UAL esde 4 para números en coma flotante de precisión simple, ya que en el mismo númerociclos se realizan cuatro operaciones en lugar de una sola [4]. Este proceso puedeentenderse como una vectorización de los operandos aritméticos. Aunque es cierto,que en la mayoría de los casos no se consiguen obtener rendimientos tan elevados yaque el microprocesador también invierte ciclos en instrucciones de lectura y escritu-ra, así como otro tipo de gestiones que en la mayoría de los casos resulta difícil dedeterminar, debido a que dependen del sistema operativo y su gestión.

El conjunto de instrucciones SSE está clasificado en las siguientes clases:

Instrucciones SSE de transferencia de datos.

Instrucciones SSE de conversión.

Instrucciones SSE aritméticas.

Instrucciones SSE lógicas.

De todo el abanico de instrucciones disponibles, las relevantes desde el puntode vista de la optimización de métodos numéricos son las de transferencia de datosy aritméticas, ya que el procedimiento básico que se realizará será: cargar datos dememoria en los registros MMX, realizar alguna operación aritmética sobre los mismosy, por último, devolver el resultado a memoria.

Page 134: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

102 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Las operaciones de lectura y escritura se recomienda que sean realizadas sobresegmentos de operadores alineados en memoria. Tal y como se aprecia de maneraindirecta en la Figura 4.2, la operación en paralelo de la suma implica que en elregistro se encuentren los cuatro valores consecutivos en precisión simple que sedeseen utilizar. Por ello, es necesario alinear de manera física la memoria, ya quemejora la carga en paralelo de los datos en los registros. En particular, para lasinstrucciones SSE es necesario alinear los datos en grupos de 32 bytes para favorecerque las cargas en los registros sean eficientes.

De manera esquemática, el procedimiento a realizar para aplicar el juego deinstrucciones SSE en un programa debe de seguir el diagrama de bloques mostradoen la Figura 4.3.

¿SIMD

aplicable?

Reorganización de

los datos

Alineamiento de

memoria

Conversión del código

secuencial a SIMD

Gestión de instrucciones

para mejorar el rendimiento

Implementación

convencional

Ejecución

SíNo

Figura 4.3: Diagrama de bloques de la conversión de un código secuencial a uno vectorialmediante el uso de instrucciones SIMD

Tal y como se ilustra en la Figura 4.3, en primer lugar es necesario decidir si laaplicación cumple los requisitos que la conviertan en paralelizable. Si esto es posible,

Page 135: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 103

en primera instancia se deben de reorganizar los datos para favorecer la proximidadfísica entre los mismos. Una vez que se tiene clara la estructura de datos que se va autilizar, es necesario alinear estas estructuras en grupos de 4 bytes para facilitar lasoperaciones vectoriales de lectura y escritura. A continuación se realiza la conversióndel código secuencial a código vectorial mediante las instrucciones SIMD. En estepunto es necesario detenerse y evaluar ciertas posibilidades antes de aplicar estaalternativa.

A la hora de implementar las funciones SSE sobre un programa, existen diferen-tes alternativas. El resumen de estas alternativas se ilustra en la Figura 4.4 dondese sitúan las diferentes técnicas de vectorización en función de la facilidad de im-plementación junto a la portabilidad a otras arquitecturas y respecto al rendimientoobtenido. La alternativa de añadir código en ensamblador es una opción de altasprestaciones ya que acerca en gran medida al programador al hardware del dispos-itivo. El rendimiento obtenido mediante esta alternativa es elevado aunque limitala ejecución de dichas instrucciones a la arquitectura en la que se esté trabajando,ya que cada arquitectura necesita de sus propias instrucciones máquina (véase Figu-ra 4.4b). Por otro lado están las funciones intrínsecas del sistema, las cuales son unastranscripciones más o menos amigables de las funciones de código máquina a lengua-jes de programación de alto nivel, como C, C++ o Fortran. Estas funciones sonconvertidas a código máquina por el compilador y presentan una portabilidad mayorrespecto a la opción comentada anteriormente. Un ejemplo de este razonamiento semuestra en la Figura 4.4 donde se ilustra el código necesario para paralelizar unsimple bucle de 4 iteraciones con el uso de ambas alternativas. En la Figura 4.4cse muestra el código utilizado para la versión vectorial con el uso de las funcionesintrínsecas. Tal y como se puede apreciar, esta alternativa resulta más amigable quela mostrada en la Figura 4.4b, más cercana al lenguaje máquina.

Finalmente, existe también la posibilidad de que el propio compilador realizeuna vectorización automática del código secuencial. Este proceso automático se basaen identificar bucles predominantes y vectorizarlos mediante las instrucciones SSE.Aunque los resultados de esta optimización son muy dependientes de factores como:

El modo de acceso y el tipo de datos utilizados en los bucles.

Dependencias de acceso a datos en cada iteración del bucle.

La interacción entre el usuario y el compilador que en muchas ocasiones nece-sita de la señalización en el código fuente, así como en el propio momento deejecución a través de directivas.

En ocasiones, la vectorización automática es dependiente de la propia versión del

Page 136: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

104 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

void add(float *a,

float *b,

float *c)

int i;

for (i = 0; i < 4; i++)

c[i] = a[i] + b[i];

void add(float *a, float *b, float *c)

__asm

mov eax, a

mov edx, b

mov ecx, c

movaps xmm0, XMMWORD PTR [eax]

addps xmm0, XMMWORD PTR [edx]

movaps XMMWORD PTR [ecx], xmm0

#include <xmmintrin.h>

void add(float *a, float *b, float *c)

__m128 t0, t1;

t0 = _mm_load_ps(a);

t1 = _mm_load_ps(b);

t0 = _mm_add_ps(t0, t1);

_mm_store_ps(c, t0);

(a) (b)

(c)

Figura 4.4: Ejemplo de paralelización automática de un bucle. (a) Implementación normalen C de un bucle for de 4 iteraciones. (b) Implementación mediante directivas de ensambladorcon uso de instrucciones SSE. (c) Implementación mediante el uso de funciones intrínsecas.

compilador y de los hábitos de programación del usuario, por lo que no es una alter-nativa viable si se desea obtener el máximo rendimiento de este tipo de instrucciones.Tal y como se detallará en la Sección 4.1.2, en este trabajo se ha optado por el uso delas directivas intrínsecas, ya que se han considerado como una solución que permiteuna portabilidad del código a otras plataformas al mismo tiempo que se consiguemejorar de manera óptima el rendimiento.

4.1.2. Vectorización del método de las DFDT

La vectorización de cualquier método numérico debe de seguir las etapas deta-lladas en la Figura 4.3. Tal y como se indica en el flujo del diagrama de bloques, esnecesario en primer lugar decidir si el conjunto de instrucciones SSE vectoriales sonaplicables a este tipo de datos. Tal y como se ha visto en la sección 3, el conjunto de

Page 137: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 105

ecuaciones del método de las DFDT se basa en evaluar las diferentes celdas de Yeeque representan el espacio y realizar operaciones aritméticas básicas sobre cada unade las componentes de los campos situados en dichas celdas y las adyacentes. Parasimplificar la explicación del proceso realizado en este punto se recurrirán al casobidimensional del método sin tener en cuenta ningún tipo de condición absorbente oformulación extra, es decir las ecuaciones (3.36)-(3.40). La manera funcional de tra-bajar con este tipo de problemas en lenguajes de programación como puede ser C++,es mediante el uso de matrices para cada una de las componentes de los campos. Elrecorrido de las matrices es más o menos ordenado y secuencial, lo que favorece laimplantación de las instrucciones vectoriales SSE.

Una vez considerada la posibilidad de implementar las ecuaciones del método delas DFDT mediante las instrucciones vectoriales del procesador, es necesario reorga-nizar las operaciones para favorecer la implantación de dichas directivas. En el casode la implementación realizada se ha optado por almacenar un único vector por cadauna de las componentes involucradas y que contenga todos los datos almacenadosde la matriz en un único vector columna. Por ejemplo, si se considera una matrizde dimensiones nf × nc, para acceder a la fila i y a la columna j se recurrirá a laposición del vector columna j × nc + i. Esta decisión simplifica la etapa de reservay liberación de memoria, así como el proceso de alineamiento físico de la misma.Por ello, la ecuación (3.36) puede reformularse de manera matricial y teniendo encuenta que los registros SSE son capaces de almacenar y procesar 4 números en comaflotante de precisión simple (tipo float):

djz[i]

djz[i + 1]

djz[i + 2]

djz[i + 3]

=

djz[i]

djz[i + 1]

djz[i + 2]

djz[i + 3]

+ Cd

hjy[i]− hj

y[i− 1]hj

y[i + 1]− hjy[i]

hjy[i + 2]− hj

y[i + 1]hj

y[i + 3]− hjy[i + 2]

−Cd

hjx[i]− hj−1

x [i]hj

x[i + 1]− hj−1x [i + 1]

hjx[i + 2]− hj−1

x [i + 2]hj

x[i + 3]− hj−1x [i + 3]

(4.1)

donde i = 0, 4, 8, . . . , n − 4 y j = 0, 1, · · · ,m − 1. El coeficiente Cd contiene cuatrovalores relacionados con las resoluciones temporales y espaciales que para nuestrocaso concreto toma el valor en todos los casos de [1/2 1/2 1/2 1/2]T debido ala relación (3.13). En consecuencia, mediante el conjunto de instrucciones SSE detransferencia se pueden realizar cargas de memoria en los registros MMX para actoseguido ser procesadas por las instrucciones aritméticas. En la Figura 4.5 se muestrala comparativa de la implementación secuencial del bucle que actualiza la compo-

Page 138: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

106 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

nentes del vector desplazamiento en z, junto con la implementación con las funcionesintrínsecas. Como se aprecia en la Figura 4.5 la actualización de la componente z delvector desplazamiento implica que el número de iteraciones del bucle interior se hareducido en un factor de cuatro. Se recurre a un preámbulo inicial para realizar lastres primeras operaciones involucradas con las tres primeras filas para cada columnade la matriz. Las funciones de carga introducen en los registros MMX los operandos autilizar por las funciones aritméticas para finalmente almacenar en la matriz corres-pondiente el resultado de la actualización del campo. A partir de Figura 4.5, puedeinterpretarse que la implementación de la ecuación (4.1) puede considerarse como launidad de trabajo dentro del método y de la propia implementación. Esta unidad detrabajo puede extrapolarse al resto de ecuaciones que se encargan de actualizar loscampos eléctricos y magnéticos (3.39) y (3.40).

4.1.3. Paralelización del método de las DFDT medianteOpenMP

La tendencia del aumento del número de núcleos en los microprocesadores hafavorecido el desarrollo de estándares basados en memoria compartida. Hasta lafecha, el uso de servidores de cálculo basados en memoria distribuida y medianteaplicaciones basadas en pasos de mensajes Message Passing Interface (MPI) era laalternativa más eficiente en términos de rendimiento y coste. Aunque, es cierto quelas instalaciones basadas en este tipo de arquitecturas presentan inconvenientes rela-cionados con el mantenimiento, el coste económico y el tiempo durante el cual lasprestaciones de la red de ordenadores es competitiva frente a las nuevas tecnologías.Por ello, junto a la capacidad de los fabricantes de aumentar la cantidad de transis-tores en sus dispositivos de estado sólido, los microprocesadores modernos puedenser considerados como pequeños servidores con varias unidades de proceso. En laFigura 4.6 se ilustran las diferencias entre la alternativa de memoria compartida ydistribuida.

Por ello, resulta interesante utilizar alternativas como el paralelismo a nivel deprocesos para optimizar métodos numéricos. Una de las alternativas más interesantesy que en la actualidad está siendo más utilizada es el uso de técnicas basadas enmemoria compartida. En un microprocesador moderno existe la posibilidad de eje-cutar más de un hilo de instrucciones debido a la réplica de recursos. La posibilidadde que varios procesos realicen una única tarea de manera conjunta puede consid-erarse en un primer momento una tarea relegada al sistema operativo, el cual debecoordinar los diferentes hilos de proceso y los recursos de la máquina. Sin embargo,hoy en día existen directrices para paralelizar algoritmos mediante la creación deprocesos que se ejecuten en el mismo procesador (con varios núcleos) y compartan la

Page 139: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 107

for(int j = 1; j < Ncolumns; j++)

for(int i = 1; i< Mrows; i++)

Dz[i][j] = Dz[i][j] +C[i][j]*(Hy[i][j] - Hy[i-1][j]

-Hx[i][j] + Hx[i][j-1]);

Implementación convencional (SISD)

Versión optimizada mediante instrucciones vectoriales (SIMD)

for(j = 1; j < Ncolumns;j++)

pdz = &Dz_(0) + j*Mrows + 1;

phy = &Hy_(0) + j*Mrows + 1;

phx = &Hx_(0) + j*Mrows + 1;

phy_rm = &Hy_(0) + j * Mrows;

phx_cm = &Hx_(0) + (j - 1) *Mrows + 1;

*(pdz++) = *pdz + c_*(*(phy++) - *(phy_rm++) -

*(phx++) + *(phx_cm++));

*(pdz++) = *pdz + c_*(*(phy++) - *(phy_rm++) -

*(phx++) + *(phx_cm++));

*(pdz++) = *pdz + c_*(*(phy++) - *(phy_rm++) -

*(phx++) + *(phx_cm++));

for (i = 4; i < Mrows; i+=4)

xmm0 = _mm_loadu_ps(phy_rm);

xmm1 = _mm_load_ps(phy);

xmm2 = _mm_load_ps(phx);

xmm3 = _mm_load_ps(phx_cm);

xmm5 = _mm_sub_ps(xmm1, xmm0);

xmm6 = _mm_sub_ps(xmm3, xmm2);

xmm7 = _mm_add_ps(xmm5, xmm6);

xmm5 = _mm_mul_ps(xmm7, xmm4);

xmm1 = _mm_load_ps(pdz);

xmm6 = _mm_add_ps(xmm1, xmm5);

_mm_store_ps(pdz, xmm6);

pdz+=4;

phy+=4;

phx+=4;

phy_rm+=4;

phx_cm+=4;

Instrucciones SIMD

Inicialización de

punteros para cada

columna

Actualización de

punteros

Preámbulo

Figura 4.5: Comparativa entre el código secuencial y vectorial de la actualización del vectordesplazamiento en la componente z.

Page 140: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

108 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Memoria

Interconexión

Proc Proc Proc ProcUPC

Memoria

UPC

Memoria

UPC

Memoria

Interconexión

...

(a) (b)

Figura 4.6: Esquema ilustrativo que muestra las diferencias entre la aproximación dememeoria distribuida (a) y memoria compartida (b).

Hilo Maestro

Regiones paralelas

Figura 4.7: Modelo de programción OpenMP

información entre ellos. El estándar más importante al respecto es el que se conocecomo OpenMP [5]. La idea básica de OpenMP es la de utilizar las librerías del sis-tema ya existentes para la generación de procesos (Win32 API y POSIX en Unix)para paralelizar aplicaciones mediante directivas OpenMP.

El modelo de programación de OpenMP se basa en la idea de que un problemade grandes dimensiones que inicialmente es procesado por un único proceso, puedeser dividido en problemas más pequeños y cada uno de ellos ser procesado por di-ferentes sub-procesos, los cuales trabajen de manera colaborativa para resolver elproblema global. Esta estrategia recibe el nombre de “divide y vencerás” y asumeque la resolución de los sub-problemas es generalmente más sencilla que resolver to-do el problema. Inicialmente, la creación de procesos se lleva a cabo en los buclesya que si no hay dependencias entre los datos, las diferentes iteraciones de un buclepodrían evaluarse en paralelo evitando que las últimas iteraciones esperen a que secompleten las primeras. Esta idea se ilustra en la Figura 4.7

Page 141: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 109

Tal y como se aprecia en la Figura 4.7 la ejecución de un proceso inicial o hilomaestro puede generar múltiples procesos ante la llegada de una sección de códigoparalelo. Una vez creados los diferentes procesos, éstos pueden trabajar de maneraparalela compartiendo información a través de variables compartidas. Esta carac-terística es muy útil en los sistemas de memoria compartida y difiere de alternativascomo por ejemplo MPI, donde se realiza una segmentación de los datos que va aprocesar cada uno de los nodos (normalmente un nodo es una CPU pertenecientea una red de ordenadores) de manera independiente. La comunicación entre nodosse lleva a cabo mediante paso de mensajes cuya velocidad es sensiblemente menor ypor ello suele evitarse en la medida de lo posible.Algunas de las ventajas más importantes de esta técnica frente a técnicas basadasen memoria distribuida son:

Los datos pueden ser privados o públicos, es decir, cada hilo puede manipulardatos de manera privada o de manera compartida entre diferentes hilos.

La memoria compartida es visible por todos los hilos.

La memoria privada es sólo visible por el proceso que la definió como tal.

La transferencia de memoria es transparente al usuario.

Además, alguna de las características más importantes desde el punto de vista delusuario es que un programa secuencial puede paralelizarse con relativamente pocoesfuerzo mediante directivas OpenMP. Estas directivas se basan en indicar que bucleso partes de código van a ejecutarse por diferentes hilos, por lo que en la mayoría delos casos, un código paralelo con esta técnica es muy similar al código secuencial.Por el contrario técnicas basadas en memoria distribuida, requieren de un complejosistema de envío de mensajes y además de una reestructuración del código secuencialque permita la segmentación y la división del problema en partes más pequeñas.

En la Figura 4.8 se muestra un ejemplo de un código secuencial mediante directi-vas OpenMP. Tal y como se puede apreciar, la incorporación de directivas OpenMPparaleliza el código de una manera relativamente sencilla y transparente al usuario.

Esta filosofía puede incluirse en el método de las DFDT de manera sencilla te-niendo en cuenta que la ecuación (4.1) puede evaluarse de manera independientepara cada columna, ya que las ecuaciones de actualización de las componentes sonindependientes. Es decir, calcular el campo eléctrico para una celda depende exclusi-vamente del valor del campo en dicha celda y las componentes del campo magnéticoadyacentes. Este razonamiento es extrapolable al campo magnético de manera sim-ilar. Por lo que diferentes procesos residentes en la misma UPC pueden actualizar

Page 142: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

110 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

void main()

int i, k, N=1000;

double A[N], B[N], C[N];

for (i=0; i<N; i++)

A[i] = B[i] + k*C[i]

#include “omp.h”

void main()

int i, k, N=1000;

double A[N], B[N], C[N];

#pragma omp parallel for

for (i=0; i<N; i++)

A[i] = B[i] + k*C[i];

Programa secuencial Programa paralelo

Figura 4.8: Ejemplo paralelización de un código secuencial mediante directivas OpenMP.

al mismo tiempo los valores de una componente del campo sin problemas de depen-dencias entre los datos. Esta idea se ilustra en la Figura 4.9, donde se muestra elesquema realizado por la implementación del método de las DFDT mediante las in-strucciones SSE y OpenMP. Debido a que las matrices se almacenan como un vectorunidimensional con preferencia de almacenamiento en columnas, las instruccionesvectoriales se aplican de manera directa a lo largo de cada una de las columnas.Este procedimiento, es el que ya se ha explicado con anterioridad al introducir lasinstrucciones vectoriales SSE de tipo aritmético. Para aprovechar la presencia demúltiples núcleos en el interior de una UPC, se crean tantos procesos como núcleoshaya en el sistema. Este mecanismo es inherente a OpenMP y por defecto detectael número de núcleos y genera tantos procesos como núcleos. Aunque esta opción esmodificable, en nuestra aplicación no se han generado más hilos que núcleos ya quepruebas preliminares demostraron un detrimento en el rendimiento. En definitiva, segeneran k procesos donde k es el número de núcleos disponibles en el sistema. Lacarga computacional generada por la actualización de los campos se distribuye porcada uno de los núcleos de manera equitativa (en columnas), por lo que se reduce lacarga neta que soportaría un único núcleo.

Cada uno de estos núcleos evaluarán las ecuaciones que actualizan cada una delas componentes del campo electromagnético utilizando los registros SSE disponiblesen el sistema, optimizando el uso de la UPC presente en las computadoras modernasde una manera relativamente sencilla.

A modo de ejemplo, se muestra en la Figura 4.10 el código utilizado para imple-mentar la ecuación (3.37) para medios no dispersivos y sin pérdidas. Concretamente,este segmento de código se encarga de actualizar la componente en z del campoeléctrico a partir de la componente z del vector desplazamiento. Esta operación esla más sencilla del método y se basa en una multiplicación matricial punto a punto.

Page 143: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 111

MMX RegisterValor de 4 bytes

4 44 4P1 P2 P3 P4

Dz[nf nc]

nc

nf

Dz|i,jn+1~

Hx|i,j-1/2n

Hx|i,j+1/2n

Hy|i,jn

Figura 4.9: Esquema ilustrativo de la paralelización mediante OpenMP y la vectorizaciónmediante el uso de las instrucciones SSE en la actualización del desplazamiento eléctrico enz para el método de las DFDT.

En nuestra implementación, debido a que las matrices son almacenadas por un únicovector, esta operación se convierte en la realidad en una multiplicación de un vectorde longitud nf×nc. La variable que almacena este valor se define como n_cells_. Laslíneas de código 7, 8 y 9 implementan esta operación a partir de un código conven-cional de C++. Se ha recurrido al uso de punteros, ya que tal y como se mencionarámás adelante favorecerá la rapidez de ejecución para la versión secuencial. A partirde la línea 10 se muestra el código optimizado. Las líneas 11, 12 y 14 inicializan losregistros MMX del microprocesador para utilizar las instrucciones vectoriales SSE.En las líneas 19-22 se realizan las cargas de cuatro en cuatro del campo Dz, y delvector con las características del medio Ga, para posteriormente almacenar el pro-ducto en el vector Ez. La variable rem almacena el número de celdas del vector quehacen que el tamaño de los vectores no sea múltiplo de cuatro. Estas posiciones secomputan por un bucle extra que realizará como máximo 3 operaciones.

Las líneas 16 y 17 de la Figura 4.10 muestran las directivas OpenMP que para-lelizan dicho bucle. Las variables static y chunk configuran los procesos para quese distribuyan de manera específica las iteraciones del bucle, es decir, cada uno delos procesos realizará el número de iteraciones definidas en la variable chunk, el cualdepende del número de celdas y del número de procesos. El numero de procesos seobtiene a partir del número de núcleos en el sistema a partir de la función de Open-MP omp_get_num_procs(). En la línea 17 se indican que variables son privadas paracada uno de los procesos y cuales son compartidas. Las variables privadas son lasque se encargan de computar cada una de las celdas, por lo que normalmente, losregistros MMX, y los índices de los bucles suelen ser privados, mientras que los pun-teros a los vectores son compartidos ya que los mismos son accedidos y manipuladospor los diferentes procesos.

Page 144: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

112 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

void Array< T >::Mul_dot_Array(Array <T>* B, Array <T>* D, int opt)

1 T *a Aligned32;

2 T *b Aligned32;

3 T *d Aligned32;

4 a = &cells_[0];

5 b = &(*B)(0);

6 d = &(*D)(0);

7 if (opt == 0)

8 for (int i = 0; i < n_cells_; i++, a++, b++, d++)

9 *d = *a * (*b);

10 else if (opt == 1)

11 register int i, rem;

12 register __m128 xmm0, xmm1;

13 rem = n_cells_ % 4;

14 _mm_empty();

15 int chunk = n_cells_/(omp_get_num_procs()*omp_get_num_procs());

16 #pragma omp parallel for schedule (static, chunk) \

17 private (i, xmm0, xmm1, rem) shared(a, b, d, chunk)

18 for (i = 0; i < n_cells_ - rem; i+=4)

19 xmm0 = _mm_load_ps(&a[i]);

20 xmm1 = _mm_load_ps(&b[i]);

21 xmm0 = _mm_mul_ps (xmm0, xmm1);

22 _mm_store_ps(&d[i], xmm0);

23

24 for (i = n_cells_ - rem; i < n_cells_; i++)

25 d[i] = a[i] * b[i];

26

Figura 4.10: Código que implementa la ecuación (3.37) para las versiones secuencial yoptimizada mediante vectorización con los registros SSE y paralelizada con OpenMP.

Page 145: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.1 Optimización del método de las DFDT en microprocesadores 113

Esta filosofía de paralelizar los bucles se puede aplicar al resto de operacionesrelacionadas con la actualización del campo electromagnético, (3.36)-(3.40) para elcaso de simulación de medios dieléctricos y (3.76)-(3.82) para la simulación con CFA.

En este trabajo se han utilizado dos estaciones de computo con las caracterís-ticas listadas en la Tabla 4.2. Las dos estaciones presentan un hardware similar.Sin embargo, hay que destacar la diferencia de arquitecturas entre el microproce-sador disponible en Bell, respecto al instalado en Clerk. La memoria caché de nivel 3disponible en la estación Clerk está basada en 4 módulos de 2 MB compartidos porlos cuatro núcleos disponibles por el microprocesador i7-950. Por otro lado, la arqui-tectura del microprocesador Q6600 se basa en dos microprocesadores Dual CoreTM

en el mismo encapsulado. Cada microprocesador Dual CoreTM dispone de 4 MB dememoria cache. Estas diferencias en la arquitectura del hardware repercutirán en elrendimiento de aplicaciones tal y como se mostrará en la Sección 5.

Bell ClerkProcesador Intel Q6600 Intel i7-950Núcleos 4 4Procesos 4 8Reloj 2,4 GHz 3,06 GHzCaché L2 8 MB L3 8 MBDRAM 8 GB DDR2-800 6 GB DDR3-1333GPU GeForce GTX-460 GeForce GTX-470

Tabla 4.2: Especificaciones técnicas de las estaciones de cómputo utilizadas.

A continuación se muestran algunos indicios sobre el impacto de la vectorizacióny el paralelismo en las UPC sobre la implementación del método de las DFDT sobrelas ecuaciones (3.76)-(3.82) para medios dieléctricos sin pérdidas y no dispersivos.

En la Tabla 4.3 se muestran los tiempos de ejecución y el rendimiento en númerode operaciones de coma flotante por segundo (definido a partir del término an-glosajón Floating Point Operations per Second (Flops)) para las dos estaciones con-sideradas. Cada una de las versiones se corresponde con un estado del código queimplementa el método de las DFDT. Para el primer caso (no flags) se obtienen lostiempos de ejecución más largos en ambas plataformas ya que se corresponde con laimplementación secuencial convencional, sin vectorización automática. El caso flag-O3 se corresponde con la vectorización automática realizada por el compilador. Sepuede deducir que el código secuencial presenta una morfología apropiada para laauto vectorización ya que en ambas plataformas se reduce el tiempo de computode manera considerable. Las principales características que facilitan la vectorizaciónautomática son principalmente, el uso de punteros, la proximidad de datos y el uso

Page 146: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

114 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

de bucles sin saltos condicionales. Tal y como se ha mostrado en la Figura 4.10 (paralas líneas que implementan la versión secuencial), el uso de punteros y la conversióndel operador de multiplicación punto a punto de una matriz al mismo operador peropara el caso de un vector unidimensional favorece que las prestaciones obtenidas porla vectorización automática, sean significativas.

El tercer caso contempla la adición de los registros MMX y por lo tanto el procesode vectorización implícita. Se aprecia que para este caso, se produce una reducciónsignificativa del tiempo de ejecución y por lo tanto un aumento del caudal. Final-mente, se muestran los tiempos de ejecución añadiendo la paralelización medianteOpenMP. Vemos que para este caso se consiguen los tiempos de ejecución más re-ducidos, ya que se están utilizando múltiples procesos y las instrucciones vectorialesal unísono.

Bell ClerkVersión T(ms) GFlops T(ms) GFlopsno flags 150,58 0,181 48,61 0,56flag -O3 115,92 0,2349 22,41 1,2SSE 90,93 0,3 11 2,48SSE+OpenMP 67 0,4 4,41 6,18

Tabla 4.3: Tiempos de ejecución y rendimiento para las dos estaciones de trabajo y enfunción de la optimización introducida.

Si se define el SpeedUp como el cociente entre el tiempo de ejecución de la versiónsecuencial de un código entre la versión paralela

SpeedUp =Tsec

Tpar, (4.2)

y se computa dicho valor para ambas estaciones de cómputo, considerando el tiempode la versión secuencial como aquella obtenida a partir de la auto vectorización, seobtienen los siguientes valores:

SpeedUpBell =TO3

TSSE+OpenMP=

115,92 · 10−3

67 · 10−3= 1,72 (4.3)

SpeedUpClerk =TO3

TSSE+OpenMP=

22,41 · 10−3

4,41 · 10−3= 5,1 (4.4)

Si analizamos estos datos de manera preliminar, podemos llegar a la conclusiónde que la optimización implementada es satisfactoria, ya que es cercana al número

Page 147: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 115

de núcleos presentes en cada microprocesador, tal y como se detalla en la Tabla 4.2.Realmente, aunque el microprocesador Q6600 detalle en sus especificaciones quecontiene 4 núcleos, en la realidad contiene 2 núcleos cada uno de los cuales tienereplicadas ciertas partes de su arquitectura. Además, cada par de núcleos presentauna memoria caché L2 de 4 MB cada una, por lo que el ratio de mejora teóricose acercaría 2. Por el contrario, la arquitectura de los i7 es mucho más versátil, yaque la caché de L3 está unificada para todos los núcleos, por lo que mejora en granmedida las prestaciones del microprocesador. Este razonamiento se verá corroboradoen el Capítulo 5 donde los resultados relacionados con la optimización se analicen demanera exhaustiva.

4.2. Optimización del método de las DFDT enunidades de procesado gráfico

En esta sección se va a introducir la arquitectura de las UPG y las decisionestomadas para la implementación del método de las DFDT en esta arquitectura. Elfamiliarizarse con esta arquitectura es de vital importancia para poder llevar a cabouna programación en estos dispositivos con éxito. Si bien adaptar los programaspara esta arquitectura es sencillo, es más complicado optimizar estas implementa-ciones para sacar el máximo partido de las mismas.

4.2.1. Historia de los procesadores gráficos

El desarrollo de las tarjetas gráficas durante esta última década es fruto de laconstante revolución en el mundo de los videojuegos y de las aplicaciones multi-media. Desde 1999, NVIDIATM ha desarrollado una gran cantidad de procesadoresgráficos con la finalidad de permitir la computación en tiempo real de aplicacionesgráficas y multimedia. No fue hasta aproximadamente el año 2003, cuando diferenteslenguajes de alto nivel como DirectX, OpenGL y Cg permitieron adaptar diferentesalgoritmos altamente paralelizables, obteniendo mejoras sustanciales. Estas primerastentativas basadas en utilizar alguna UPG gráfica fueron las que crearon el térmi-no de programas de Propósito General basado en Unidades de Procesado Gráfico(PGUPG).

Los resultados ofrecidos por los programas de PGUPG ofrecían muy buenas ex-pectativas sobre esta tecnología, pero al mismo tiempo también una gran serie de

Page 148: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

116 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

inconvenientes. El primero de ellos se basaba en la necesidad por parte del progra-mador, de conocer exhaustivamente tanto la arquitectura de la UPG, como la interfazde programación de aplicación (conocida por el término anglosajón Application Pro-gramming Interface (API)). El segundo de los inconvenientes era que los problemas aimplementar debían abstraerse a identidades gráficas como coordenadas de vértices,píxeles, texturas, etcétera. El tercer factor a tener en cuenta era que operaciones bási-cas como lecturas y escrituras aleatorias no estaban contempladas en los primerosprocesadores gráficos, ya que no estaban ideados para la computación fuera del ám-bito gráfico. El último de los factores y posiblemente uno de los más importantes yque ha sido resuelto relativamente hace poco tiempo, ha sido la compatibilidad connúmero de coma flotante de precisión doble.

Para subsanar estos inconvenientes, NVIDIATM desarrolló el procesador gráficoG80 y CUDA. Tanto el hardware como el software fueron ideados para ser progra-mados por lenguajes de alto nivel y reconocidos en el ámbito científico (C/C++, yFortran, entre otros). Las extensiones de CUDA permiten ser utilizadas en lenguajesde alto nivel y por lo tanto evitan al usuario tener que dominar APIs complejasdiseñadas para otro tipo de aplicaciones.

A partir de esta generación de UPG, NVIDIATM definió un nuevo término rela-cionado con el modelo de ejecución, este término se define como instrucción únicasobre múltiples hilos o definida en inglés como Single Instruction Multiple Thread(SIMT), donde una única instrucción se ejecuta de manera simultánea sobre dife-rentes hilos de ejecución. Cabe destacar que aunque el concepto es muy similar almodelo SIMD, el contexto es ligeramente diferente.

En Junio de 2008, NVIDIATM comenzó a distribuir una revisión de la arquitecturaG80, en los productos GeForce GTX 280, Quadro FX 5800 y Tesla T10. Esta segundageneración de UPG destacó por el aumento del número de Streaming Processors(SMs), y por lo tanto de los denominados núcleos CUDA (de 128 a 240). También seincluyó el acceso coalescente de memoria para aumentar el rendimiento en el accesoa memoria y el soporte a números en coma flotante de precisión doble para suplir lasnecesidades de la computación de alto rendimiento.

La evolución natural de estas unidades de procesamiento en la actualidad sesitúan en la familia FermiTM , la cual se basa en un cambio sustancial de la arquitec-tura interna de las UPG transparente al usuario y que ha favorecido el aumento delas prestaciones y la reducción de la complejidad en la implementación de algoritmosen este tipo de dispositivos.

Page 149: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 117

Bloque (0,0) Bloque (1,0) Bloque (2,0)

Bloque (0,1) Bloque (1,1) Bloque (2,1)

Hilo (0,1)Hilo (0,1)Hilo (0,1) Hilo (1,1) Hilo (2,1) Hilo (3,1)Hilo (3,1)Hilo (3,1)

Hilo (0,0)Hilo (0,0)Hilo (0,0) Hilo (1,0) Hilo (2,0) Hilo (3,0)Hilo (3,0)Hilo (3,0)

Hilo (0,2)Hilo (0,2)Hilo (0,2) Hilo (1,2) Hilo (2,2) Hilo (3,2)Hilo (3,2)Hilo (3,2)

Bloque (1,1)

Figura 4.11: Organización de los hilos en CUDA.

4.2.2. Introducción a la arquitectura de los procesadoresgráficos

CUDA es un concepto que engloba tanto la parte hardware como la softwareque permite al usuario utilizar lenguajes de alto nivel como C++ o Fortran paraprogramar las UPG [6]. Un programa en CUDA se basa en la llamada a un kernel.Un kernel se ejecuta de forma paralela a lo largo de múltiples hilos. El programadory el compilador organiza estos hilos en bloques y su vez, la agrupación de bloquesrecibe el nombre de malla o Grid. Cada hilo perteneciente a un bloque ejecuta unainstancia del kernel y presenta un Identificador (ID) que lo define en el bloque deforma inequívoca. Un bloque de hilos es un conjunto de hilos que trabajan de formaconcurrente y que pueden colaborar entre ellos a través de barreras de sincronizacióny memoria de tipo compartida. Cada bloque de hilos tiene un ID único en la malla.Un conjunto de bloques conforman la malla, la cual ejecuta el mismo kernel, lee yescribe los datos de entrada y salida en la memoria global del sistema, etcétera. Enla Figura 4.11 se ilustra la jerarquía de hilos, bloques y malla en CUDATM .

Page 150: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

118 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

En el modelo de programación CUDA, cada hilo tiene asignado una región dememoria privada y un número determinado de registros. De forma similar, cadabloque tiene una memoria compartida limitada la cual es utilizada para compartirdatos y comunicar los diferentes hilos que conforman el bloque. Llegado a este punto,cabe hacer un inciso en la jerarquía de memorias en CUDA [7] para presentarlas allector adecuadamente:

Registros: Cada multiprocesador contiene varios centenares de registros, cuyoacceso es de tipo local y extremadamente rápido. El ámbito de aplicación deestos registros es a nivel de kernel, por lo que una vez finalizada la función enel dispositivo, estos registros pierden el valor almacenado.

Memoria compartida: Los procesadores presentes en un multiprocesador tienenacceso a un tamaño finito de este tipo de memoria en la arquitectura Fermi.En concreto se puede utilizar hasta 48 kB, la cual sirve de vía de comunicaciónentre los diferentes hilos en un bloque. Esta memoria está físicamente en el chipjunto a los núcleos por lo que su latencia es muy reducida y se usa esencialmenteen aplicaciones de alto rendimiento. Presenta el mismo ámbito de aplicaciónque los registros. Por lo que al finalizar el kernel, no se asegura que la memoriacompartida mantenga los datos del antiguo kernel.

Memoria global: Es la memoria más extensa (como máximo es de hasta 6GB) y físicamente está localizada fuera del chip gráfico, pero en la tarjeta.Esta memoria permite accesos desde cualquier hilo y cualquier bloque, aunquesu velocidad de acceso es la más lenta de todas las memorias presentes enel sistema, con una latencia del orden de pocos cientos de ciclos de reloj. Elámbito de aplicación de la memoria global es a nivel de aplicación, por lo quemúltiples kernels pueden ser llamados desde el host (huésped, el cual hacereferencia a la UPC del computador) y que manipulen los datos de la memoriaglobal.

Memoria constante y de texturas: Este tipo de memorias presentan la mismavelocidad de acceso que la memoria global, aunque el acceso a la mismas esligeramente diferente, lo que permite acelerar su lectura, aunque estrictamenteson memorias de sólo lectura. Tienen el mismo ámbito de aplicación que lamemoria global.

Memoria de Host: La memoria de la UPC no es accesible desde la UPG, porlo que es necesario realizar cargas y descargas de memoria desde el host a latarjeta gráfica y de la tarjeta al host para analizar los resultados. Este procesodebe realizarse por el bus del sistema PCI Express, el cual representa el puntomás débil de la arquitectura por su reducido ancho de banda comparado con elpresente en la UPG. En todos los casos se recomienda minimizar el tráfico por

Page 151: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 119

este bus y limitarlo a los procesos de carga y descarga de información inicialy final respectivamente.

En la Figura 4.12 se ilustra la arquitectura Fermi desarrollada por NVIDIATM .En dicha ilustración se muestran 16 Streaming Processors (SMs), los cuales puedenalbergar uno o más bloques de hilos. Cada uno de los núcleos CUDA, así como el restode unidades presentes en el SM ejecutan hilos. Cada uno de los SM ejecuta gruposde 32 hilos los cuales se identifican como warp y es la unidad de trabajo en CUDA.La gestión de los warps es transparente al usuario, aunque el seguir un conjuntode reglas respecto a la manipulación de estos warps permite reducir la latencia yaumentar el rendimiento de las aplicaciones en gran medida.

Red de interconexiónUnidades de Funciones especiales

Unidades de Lectura/Escritura

Unidades de ejecuciónRegistros y caché L1

Gestor y distribuidor de hilos

DR

AM

Inte

rfaz

Host

Ges

tión

de

Hilos

DR

AM

DR

AM

DR

AM

DR

AM

DR

AM

Caché L2

Figura 4.12: Arquitectura Fermi.

La primera UPG basada en la arquitectura FermiTM contiene 512 núcleos CUDA.Cada núcleo CUDA ejecuta una operación en coma flotante o entera por ciclo dereloj y por hilo. Cada uno de los núcleos contiene una UAL y una Unidad de ComaFlotante (UCF) completa. Cada SM dispone de 16 unidades de lectura y escritura

Page 152: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

120 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo

Núcleo Núcleo L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

L/E

UFE

UFE

UFE

UFE

Caché de instrucciones

Gestor de warps Gestor de warps

Unidad de distribución Unidad de distribución

Banco de registros

(32.768 x 32-bits)

Memoria compartida 64 kB / Caché L1

Red de interconexión

Caché uniforme

Figura 4.13: Estructura de un multiprocesador en la arquitectura FermiTM

.

que permiten realizar operaciones de entrada/salida entre la memoria global (DRAM)y/o memoria caché a 16 hilos al unísono y en un único ciclo de reloj. Además,las funciones especiales como pueden ser las trigonométricas, racionales, etcétera,son realizadas en una Unidad de Funciones Especiales (UFE). En cada SM haydisponibles cuatro UFEs y un warp consume 8 ciclos de reloj en realizar una de estasoperaciones especiales. Los 512 núcleos están organizados en 16 SMs de 32 núcleoscada uno. El multiprocesador existente en la arquitectura FermiTM se considera eltercero de su generación. En la Figura 4.13 se muestra un esquema en detalle deun SM de los 16 ilustrados en la Figura 4.12.

La capacidad de la memoria DRAM es de hasta 6 GB y de tipo GDDR5. Existeuna interfaz que se encarga de gestionar las comunicaciones con el host vía bus PCI-

Page 153: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 121

Express, y el encargado de distribuir los diferentes bloques entre los SMs es el gestorglobal. Cada uno de los SMs contiene un gestor de hilos que asigna los recursospresentes en cada multiprocesador a cada uno de los hilos que conforman el bloque.

Una de las innovaciones que más ha repercutido en la mejora de las prestacionesde estos dispositivos es la presencia de la memoria compartida en el propio encapsu-lado del microprocesador. La memoria compartida facilita la cooperación entre hilosy la reutilización de datos reduciendo el tráfico entre memoria global y la UPG. Dehecho, el buen uso de esta memoria es la clave a la hora de trasladar los algoritmosa la UPG. Los primeros modelos (G80 y GT200) presentaban 16 kB de memoriacompartida por multiprocesador, mientras que en la nueva arquitectura FermiTM

hay disponibles 64 kB por SM. Esta memoria puede configurarse como 48 kB dememoria compartida con 16 kB de caché L1 o como 16 kB de memoria compartiday 48 kB de memoria caché L1.

Esta posibilidad permite que aplicaciones que realizan un uso exhaustivo de lamemoria compartida sigan siendo compatibles con esta arquitectura, viéndose favore-cidas por el aumento del tamaño de esta memoria. Por otro lado, se puede obviar eluso de la memoria compartida de manera directa y utilizarla de manera implícita, através de la caché, la cual es gestionada directamente por el hardware del SM.

4.2.3. Modelo de programación

El modelo de programación de las UPGs se basan en que los hilos CUDA seejecutan en un dispositivo diferente al microprocesador disponible en el host, el cualejecuta un programa en C/C++. Del mismo modo, tanto el host como el dispositivotienen memorias DRAM separadas, por lo que una reserva y posterior liberación, asícomo transferencias entre dispositivos serán necesarias para proporcionar el conjuntode datos necesarios al dispositivo. Este concepto se ilustra en la Figura 4.14, dondela ejecución comienza con un proceso en el host. Dicho proceso después de haberrealizado las reservas en la memoria global necesarias para la aplicación y su posteriortransferencia, invoca una función kernel. En este punto la ejecución se traslada ala UPC, donde un gran número de hilos procesan los datos alojados en la memoriaglobal del dispositivo. Todos los hilos generados por el kernel se agrupan en lo quese conoce como la malla. La organización de la malla puede diferir de un kernel enfunción de los intereses del usuario, ya que los índices que estructuran la malla estánrelacionados con los ID de los hilos y por lo tanto, del rango de datos que puedenacceder. Cuando los hilos completan todos los cálculos, la malla finaliza transfiriendolos datos resultantes a la memoria en el host. La ejecución del programa continua enel propio host hasta que se produzca una nueva llamada a un kernel.

Page 154: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

122 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Bloque (0,0) Bloque (1,0) Bloque (2,0)

...

Bloque (0,0) Bloque (1,0) Bloque (2,0)

...

Código secuencial UPC

Kernel paralelo

KernelA<<<M, B>>>(args)

Código secuencial UPC

Kernel paralelo

KernelB<<<M, B>>>(args)

Malla

Malla

Figura 4.14: Ejecución de un programa CUDA

Dado que todos los hilos ejecutan el mismo kernel, es necesario una jerarquíay un orden en la distribución de los hilos. El mecanimo que utiliza CUDA paraesta tarea es la asignación de unas coordenadas únicas a cada uno de ellos. Estacoordenada permite identificar la porción de datos que el hilo debe de procesar. Lajerarquía mencionada consta de dos niveles indexados por coordenadas únicas. Cadauno de los hilos identificados por la variable threadIdx están organizados en bloques(indexados por la variable blockIdx). Ambas variables son un tipo predefinido ypreinicializado en CUDA, las cuales pueden ser consultadas en todo momento dentrode un kernel.

Un hilo ejecutándose en un kernel puede acceder a sus coordenadas accediendo alas variables blockIdx y threaIdx. También existen un conjunto de variables extrasque permiten conocer las dimensiones de la malla y el tamaño de cada bloque, lascuales son gridDim y blockDim respectivamente.

En la Figura 4.15 se ilustra un ejemplo sencillo en CUDA basado en la suma dedos vectores. Los vectores son de tamaño L y la malla en este caso está formada porN bloques de hilos, cada uno de ellos tiene un identificador único (blockIdx.x) quetoma valores de 0 a N −1. Cada uno de los bloques consiste en M hilos identificadospor el índice threadIdx.x, el cual toma valores de 0 a M−1. En este caso particular,tanto los bloques como los hilos están organizados en estructuras unidimensionales.La malla en total tiene N ×M hilos realizando la suma de los vectores a y b.

Las cajas grises de la Figura 4.15 muestran el fragmento del código presente

Page 155: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 123

__global__ void add (int* a, int* b, int* c)

int tid = blockIdx.x*

blockDim.x + threadIdx.x;

if (tid < L)

c[tid] = a[tid] + b[tid];

0 2 3 4 M-11 5 ...

Bloque de Hilos 0

__global__ void add (int* a, int* b, int* c)

int tid = blockIdx.x*

blockDim.x + threadIdx.x;

if (tid < L)

c[tid] = a[tid] + b[tid];

0 2 3 4 M-11 5 ...

Bloque de Hilos 1

__global__ void add (int* a, int* b, int* c)

int tid = blockIdx.x*

blockDim.x + threadIdx.x;

if (tid < L)

c[tid] = a[tid] + b[tid];

0 2 3 4 M-11 5 ...

Bloque de Hilos N-1

...

+ + ...

...

a

b

c ...

+

...a0 a1 a2 a3 a4 a5 aL-1

b0 b1 b2 b3 b4 b5 bL-1

c0 c1 c2 c3 c4 c5 cL-1

Figura 4.15: Ejemplo de una suma de vectores en CUDA, a la derecha se muestra laorganización de los hilos y el kernel que ejecutan cada uno de ellos.

Page 156: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

124 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

en el kernel. Este código utiliza la variable tid para identificar el fragmento de losdatos tanto de entrada como de salida a procesar. Por ejemplo, el hilo 3 del bloque0 tendrá un identificador tid = blockIdx.x*blockDim.x + threadIdx.x = 0*M +3 = 3. De forma análoga, el hilo 3 del bloque 5 tendrá un identificador tid = 5 *M + 3.

Si se considera una malla de 128 bloques (N = 128) y que cada bloque contenga32 hilos (M = 32), la variable blockDim será igual a 32, por lo que el número total dehilos en la malla será de 128×32 = 4096. Es tarea del programador verificar que cadauno de los hilos presenta un identificador único y que al mismo tiempo, la longituddel vector sea menor o igual al número de hilos presentes en la malla. De esta forma,se asegura que cada uno de los hilos compute un dato de salida del vector c.

Generalmente, la malla se organiza en bloques formando matrices bidimension-ales, y cada bloque puede distribuir sus hilos en tipologías tridimensionales. Paraindexar cada una de estas dimensiones, se recurren a las mismas variables men-cionadas con anterioridad (threadIdx y blockIdx). Estas variables son básicamenteuna estructura de datos de C con tres enteros: .x, .y y .z. Para el caso de la malla,la tercera dimensión es ignorada. El uso estas tipologías a la hora de gestionar loshilos es muy común, ya que existen unas limitaciones respecto al número máximode hilos por dimensión en un bloque. Estas limitaciones y algunas especificacionestécnicas más se enumeran en la Tabla 4.4, la cual resume algunos de los conceptostratados hasta el momento relacionados con la arquitectura de la familia FermiTM .

Especificación Técnica FermiTM (C.C 2.x)Máximo valor en dimensión x e y en un malla 65535Númer máximo de hilos por bloque 1024Máximo valor en dimensión x e y en un bloque 1024Máximo valor en dimensión z 64Tamaño de warp 32Número máximo de bloques por SM 8Número máximo de warps por SM 48Número máximo de hilos por SM 1536Número de registros de 32-bit por SM 32 kTamaño memoria compartida 48 kB

Tabla 4.4: Especificaciones técnicas para la familia FermiTM

.

La organización en cada kernel se establece en cada llamada al mismo. El primerparámetro de la configuración de ejecución especifica las dimensiones de la malla entérmino de bloques y el segundo parámetro establece las forma de agrupación de los

Page 157: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 125

hilos en cada uno de los bloques. Cada uno de estos parámetros es del tipo dim3.Siguiendo el ejemplo anterior de la suma de dos vectores, la llamada a la funciónkernel sería de la siguiente forma:

dim3 dimGrid(128, 1, 1);dim3 dimBlock(32, 1, 1);KernelFunction <<< dimGrid, dimBlock >>> (...);

Los dos primeros comandos inicializan los parámetros de configuración tipo dim3.Para ambos casos se ha optado por una estructura tipo unidimensional, por ello elresto de componentes se inicializa a uno. El tercer comando es la llamada a la funciónkernel, donde entre la secuencia <<< y >>> se sitúan los parámetros de configuración.Cabe destacar, que para el caso del tamaño de bloque no todas las combinacionesson posibles, ya que tal y como se muestra en la Tabla 4.4, únicamente se puedensituar 1024 hilos por bloque. Por lo que tamaños de bloque de (512, 1, 1), (8, 16,4) o (32, 16, 2) serían admisibles mientras que (32, 32, 2) no sería posible ya que elnúmero total de hilos por bloque excedería 1024.

En definitiva, la arquitectura presentada ofrece una multitud de posibilidadesy una gran capacidad de cómputo, pero bajo ciertas condiciones, el rendimientoofrecido por estos dispositivos puede verse comprometido y reducido hasta el puntode que pueden ser menores que los obtenidos por computación tradicional basadaen una única UPC. Para ello, se recomiendan las siguientes estrategias en cualquierprograma o aplicación implementada en CUDA [8, 9]:

Buscar alternativas para paralelizar el código a implementar: Es una de lastareas más complicadas y en la que muchos investigadores enfocan su trabajoy sus esfuerzos [7, 10–12]. La búsqueda de paralelizar algoritmos ya conocidosy aceptados es una tarea compleja y depende en gran medida de la aplicaciónconcreta y de la pericia del programador. La primera alternativa para con-vertir un código secuencial en uno paralelo se basa en la reorganización delas operaciones, tal y como se ha mostrado en el punto 4.1. Aunque existensituaciones en las que las fuertes dependencias entre los datos no son salvablesy es necesario reformular el algoritmo o realizar algunas aproximaciones parasalvar dicho problema [13].

Minimizar las transferencias de datos entre el host y el dispositivo: La velocidaddel bus PCI-Express es considerada un cuello de botella comparada con lavelocidad del bus de la memoria disponible en una UPG, tal y como se muestraen la Tabla 4.5. Por ello, es de vital importancia minimizar los accesos por elbus PCI-Express en la medida de lo posible. En la práctica, el uso de este bus

Page 158: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

126 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

se limita al inicio y al final del cómputo con UPG. En el inicio para cargar losdatos iniciales y la estructuras de datos necesarias para realizar el proceso yal final para descargar de la tarjeta los resultados del cálculo.

Bus Ancho de banda (GB/s)PCI-Express 2.0 x16 4

GTX-460 115,2GTX-470 133,9

Tesla C2050 144

Tabla 4.5: Velocidad de bus para los buses vinculados a una UPG

Ajustar los parámetros del kernel (tamaño de bloque y malla) para maximizarla utilización de la UPG: Los recursos existentes en un multiprocesador in-cluyen registros, ranuras para bloques de hilos, así como ranuras para hilos.Estos recursos se administran de manera dinámica a hilos que estén prepara-dos para la ejecución. Para el caso de la UPG GTX 470 que forma parte dela familia de procesadores gráficos FermiTM (véase Tabla 4.4), hay disponibles1536 ranuras que pueden ser utilizadas por hilos preparados para ser procesa-dos. Estos recursos se administran en tiempo de ejecución y del mismo modoexiste una limitación en cuanto al número de bloques residentes en un multi-procesador, que en este caso es de 8 bloques. Por lo que por ejemplo, si tenemosbloques de 192 hilos, los 1536 hilos se reparten a lo largo de 8 bloques. Estadistribución dinámica de recursos puede ocasionar que en algunos casos se densituaciones de infrautilización de los recursos. Por ejemplo si suponemos quecada bloque presenta 128 hilos, los 1536 hilos serán asignados a 12 bloques,dado que únicamente caben 8 bloques por multiprocesador, sólo 512 hilos seprocesarán en cada multiprocesador, por lo que únicamente el 33% de losrecursos estarán siendo utilizados. Es conveniente que cada multiprocesadorpresente una alto porcentaje de ocupación, ya que la gestión dinámica de hi-los permite ocultar latencias debido a divergencias en los warps o cualquierotro factor que haga que un warp tenga que esperar para ser ejecutado. Anteeste suceso, el gestor de hilos substituye el warp en espera por otro que estápreparado para ejecución evitando tiempos de espera innecesarios. Cuando elporcentaje de utilización es bajo, las latencias y los tiempos de espera son másapreciables y por lo tanto el rendimiento del sistema se reduce en gran medida.

Los registros son otro de los factores que pueden limitar la ocupación delmultiprocesador. En la arquitectura FermiTM hay disponibles 32.768 registrosen cada multiprocesador. Estos registros se utilizan para almacenar variablesutilizadas en los kernels, y es el medio más eficaz para reducir las latenciasa memoria. Las variables automáticas del kernel se sitúan en estos registros.

Page 159: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 127

Si por ejemplo tenemos un kernel que utiliza 25 registros por hilo, y ten-emos un bloque de 32×16 hilos, el número total de registros utilizados es de32×16×25 = 12800 y de 512 hilos. Si calculamos los recursos utilizados por dosbloques con esta configuración obtendríamos que se utilizarían 25600 registrosy 1024 hilos, donde ambos valores estarían por debajo de los valores límitesestablecidos por la arquitectura. Sin embargo si añadimos un bloque extra,tendríamos 1536 hilos en el multiprocesador y una ocupación de 38400 reg-istros, siendo este último dato superior al disponible, por lo que únicamentepodrían residir dos bloques por multiprocesador, teniendo un porcentaje deocupación del 67%.

Por último, uno de los factores que pueden limitar el paralelismo es el uso de lamemoria compartida. Para este punto supondremos que la caché L1 se utilizacomo una región de memoria compartida de 48 kB por multiprocesador másuna de 16 kB de caché interna. Hay que tener en cuenta que la memoria com-partida se utiliza a nivel de bloque y que cada multiprocesador puede albergarhasta 8 bloques. A partir de este razonamiento se puede deducir fácilmente,que cada bloque no debe almacenar más de 6 kB. En el caso de que se excedaeste tamaño, el número de bloques residente en un multiprocesador será limi-tado por el uso de la memoria compartida. Por ejemplo, si tenemos un tamañode bloque de 32×16 hilos y almacenamos dos matrices de las mismas dimen-siones que el tamaño de bloque se necesitarán 32 × 16 × 2 × 4 = 4096 Bytes.Dado que pueden haber hasta 8 bloques por multiprocesador, la memoria com-partida utilizada en total ascendería a 32,768 kB, lo cual está por debajo dela capacidad de la memoria. En realidad, en este caso el factor que limita elnúmero de bloques por multiprocesador es el número de hilos, ya que 3 bloquessaturaría el número total de hilos disponibles por multiprocesador.

Para facilitar estos cálculos, hay disponible una hoja de cálculo en Excel [14]disponible de forma gratuita que permite calcular los porcentajes de ocupacióna partir de los parámetros de configuración del kernel. El número de registrosutilizados por kernel, así como la cantidad de memoria compartida reserva-da puede obtenerse de manera sencilla mediante inspección o mediante datosproporcionados por el compilador, en ambos casos de manera sencilla.

Maximizar en la medida de lo posible los accesos a memoria global de tipocoalescente: El acceso coalescente a memorias DRAM se basa en la idea deoptimizar el acceso a memoria global del sistema mediante un proceso de pa-ralelización. Este mecanismo consiste en que para cada acceso a memoria, lasposiciones adyacentes a la posición solicitada pueden ser accedidas en el mismoproceso de lectura, aumentando la velocidad de lectura. A nivel hardware seidentifica si las direcciones que se desean acceder son consecutivas, unificandotodo el acceso en uno solo. Dado que en un warp ejecuta el mismo código

Page 160: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

128 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

m00 m01 m02 m03

m10 m11 m12 m13

m20 m21 m22 m23

m30 m31 m32 m33

t(0) t(1) t(2) t(3) t(0) t(1) t(2) t(3)

m00 m10 m20 m30 m01 m11 m21 m31

Dirección de acceso del

código en el kernel

m00 m01 m02 m03

m10 m11 m12 m13

m20 m21 m22 m23

m30 m31 m32 m33

Dirección de acceso del

código en el kernel

Iteración 1 Iteración 2

t(0) t(1)

m00 m10 m20 m30 m01 m11 m21m31

Iteración 1

Iteración 2

t(0) t(1) ...

...

(a)

(b)

Figura 4.16: (a) Patrón de acceso coalescente. (b) Patrón de acceso no coalescente.

dentro de un kernel, a priori es fácil identificar si el acceso a memoria globalva a ser de tipo coalescente (contiguo) o no. Un ejemplo de este fenómeno semuestra en la Figura 4.16. En concreto, en la Figura 4.16a se ilustra el casode un acceso a una matriz almacenada por columnas. En dicha ilustración semuestra que los accesos producidos en la primera iteración se realizan en elmismo instante ya que todas las posiciones están contiguas en memoria global,además estos accesos se realizan por hilos ordenados del 0 al 3. En este casola lectura se realiza por columnas, por lo que se favorece la coalescencia yaque se está leyendo en el mismo orden de almacenamiento. En cambio, en laFigura 4.16b se muestra el caso para un acceso no coalescente. En este caso elorden de acceso del kernel es por filas, por lo que el hardware detectará queno puede acceder de una sola vez y deberá realizar múltiples accesos para leertoda la fila.

Substituir los accesos a memoria global por memoria compartida siempre que

Page 161: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 129

sea posible: Esta estrategia se basa en la reutilización de datos, y es la queconsigue aumentar el rendimiento hasta los límites máximos del dispositivo.Debido a que la memoria compartida presenta una velocidad de acceso próximaa la de los registros, los datos más frecuentes en el algoritmo pueden situarse enesta memoria para evitar accesos a memoria global innecesarios. Usualmente,es una tarea difícil ya que el tamaño de la memoria compartida es reducidoy en la mayoría de los casos insuficiente para abarcar toda la informaciónnecesaria, aunque existen alternativas basadas en la segmentación del problemaque permiten reutilizar en gran medida los datos y mejorar las prestacionesdel algoritmo. En el caso de la arquitectura FermiTM se puede obviar el usode la memoria compartida como tal y utilizar memoria de caché de nivel 1 oL1. Esta caché funciona de la misma forma que la memoria compartida con lasalvedad de que es gestionada automáticamente por el dispositivo. Una manerade monitorizar el patrón de accesos es a partir de la medida del Ancho de BandaEfectivo ABef . Esta métrica se obtiene a partir de la siguiente expresión [8]:

ABef =Bl + Be

T · 109, (4.5)

donde Bl y Be son el número de bytes leídos y escritos en memoria globalpor un kernel y T es el tiempo en segundos de ejecución de dicho kernel. Elresultado está proporcionado en GB/s. Esta medida indirecta permite conocerel estado del bus entre la memoria global y el procesador gráfico. Valoresmuy bajos comparados con el máximo proporcionado por el fabricante indicanque el acceso a memoria no es eficiente y por lo tanto que las prestacionesde la UPG estarán por debajo de los valores óptimos. Por otro lado valoressuperiores al 75% del ancho de banda máximo se consideran valores más queaceptables [12, 15]. En algunas situaciones es posible superar el ancho de bandamáximo debido al uso intensivo de la caché. Este fenómeno, se va a explicarcon más detalle en la Sección 4.2.4.

Evitar divergencia en los caminos de los warps: La divergencia de un conjuntode hilos que conforman el warp viene dada por comandos de tipo condicional.El flujo de instrucciones puede degradar el rendimiento de la aplicación si serompe el paralelismo a nivel de warp, es decir, si hilos pertenecientes a un mis-mo warp ejecutan diferentes instrucciones debido a una bifurcación ocasionadapor una condición del tipo if,else. Bajo esta situación, el warp está ocupan-do los recursos del multiprocesador hasta que todos los flujos de instruccionesde los hilos que lo conforman hayan finalizado. En concreto, la ejecución delwarp se realizaría en dos ciclos. El primero de ellos se encargaría de evaluarel conjunto de hilos dentro del warp que realizan las instrucciones dentro delif, mientras el resto de hilos están a la espera. Una vez finalizada esta etapa,es necesario un segundo ciclo para que los hilos que estaban inactivos realicen

Page 162: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

130 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

las instrucciones de la sección else. Durante estas dos etapas, parte del warpse mantiene activo realizando instrucciones mientras que el resto del mismoestá detenido a la espera, reduciendo la eficiencia en el uso de los recursos delsistema. Para minimizar esta situación se debe recurrir al identificador de hiloy tratar que el warp al completo siga el mismo flujo de información.

4.2.4. Implementación del método de las DFDT prelimi-nar mediante CUDA

La actualización de las ecuaciones que gobiernan el método de las DFDT enuna UPG sigue una estructura similar a la definida en el punto 4.1. El objetivoprincipal se basa en proyectar un conjunto de hilos que se encarguen de actualizarel conjunto de ecuaciones (3.36)-(3.40). Para ello se va a utilizar la estructura dekernels mostrada en la Figura 4.18a. En este diagrama de bloques se muestran loskernels que se invocan en cada iteración del método de las DFDT y las ecuacionesque implementan cada uno de los mismos.

Las dimensiones de cada bloque se muestran en la Figura 4.18b, donde se orga-nizan 512 hilos en un bloque de 256 filas y 2 columnas. Esta configuración permitemaximizar el rendimiento debido a varios factores:

Favorece el acceso a memoria coalescente, ya que 256 hilos acceden de maneraconsecutiva a posiciones de memoria contigua.

Dado que la actualización de las ecuaciones que actualizan los campos presen-tan términos que necesitan del valor en celdas adyacentes, el bloque definidopermite reutilizar la caché del sistema de manera eficiente.

El que la dimensión de los bloques sea mayor en filas que en columnas, favoreceque existan un mayor número de warps y que por lo tanto, el gestor de hilospueda enmascarar las latencias de algunos de ellos introduciendo unidades detrabajo en espera a la cola de ejecución.

La estructura de bloque ilustrada en la Figura 4.18b es aplicada al cálculo totaldel campo mediante una malla de nc/2× 1, donde nc es el número de columnas queconforman el espacio de simulación, es decir el número de celdas en el eje físico ytal y como se ilustra en la celda de Yee bidimensional (véase Figura 3.6). Por lo queal lanzar el kernel se inicializan nc/2 bloques de 512 hilos organizados en dos filasde 256 cada una de ellas. Cada uno de estos bloques recorre las dos columnas quetenga asignadas a partir de su identificador. Por ejemplo, el bloque 3 se encargará de

Page 163: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 131

Kernel CUDA: Update_Electric_Kernel

Dz|i,j = Dz|i,j + c·Ch|i,jn+1/2 n-1/2

Ch|i,j = Hy|i+1/2,j - Hy|i-1/2,j - Hx|i,j+1/2 + Hx|i,j-1/2n n n n

Kernel CUDA: Update_Magnetic_Kernel

Hy|i+1/2,j = Hy|i+1/2,j - c·Ce|i,jn+1 n

Ce|i,j = Ez|i+1,j - Ez|i,jn+1/2 n+1/2

Hx|i,j+1/2 = Hx|i,j+1/2 - c·Ce|i,jn+1 n

Ce|i,j = Ez|i,j - Ez|i,j+1n+1/2 n+1/2

Ez|i,j = Ga|i,jDz|i,jn+1/2 n+1/2

~ ~

~ ~

~ ~

~ ~

Blo

ck N

Thread

(0, 0)

Thread

(0, 1)

Thread

(1, 0)

Thread

(1, 1)

Thread

(255, 0)

Thread

(255, 1)

...

...

Blo

ck 1

Blo

ck 2

(b)

(a)

Figura 4.17: (a) Esquema de los kernels invocados para el cálculo del campo electromag-nético en dos dimensiones mediante CUDA. (b) Estructura de cada uno de los bloques dela malla.

Page 164: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

132 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

BlockDim.x

BlockDim.y

nf

nc

Figura 4.18: Cálculo de las componentes del campo a partir de la estructura de bloquepropuesta.

actualizar las componentes de las columnas 6 y 7. Concretamente, cada hilo calculala columna que tiene que procesar a partir de la relación blockIdx.y*blockDim.y+ threadIdx.y. Por ejemplo, para el caso de una simulación de tamaño 256×256(nf = 256 y nc = 256), el hilo (64, 2) del bloque (1, 13), se encargará de procesar lacolumna 2×13 + 2 = 38, mientras que el hilo (64, 1) realizará la misma tarea parala columna 37.

Para el caso en el que el número de filas sea mayor que el tamaño de bloque enla primera dimensión (256) hay que realizar una estrategia de barrido que consisteen que cada bloque procesa los datos de cada par de columnas en nf/256 pasos.Por ello, es necesario introducir un bucle en el kernel que se encargue de recorrer lascolumnas. Siguiendo con el ejemplo del hilo (64, 2) del bloque (1, 13), se encargaríade procesar las columnas 37 y 38, mientras que para la primera iteración del bucle enel interior del kernel computaría las filas de la 0 a la 255. Para la segunda iteraciónse actualizarían las componentes del campo de la 256 a la 511, y así sucesivamente.

Esta estrategia permite obtener muy buenos resultados en términos de ancho debanda entre memoria global y procesador gráfico, así como unas buenas prestacionesen términos de rendimiento. En nuestro caso, las UPG utilizadas son dos tarjetasNVIDIATM instaladas en dos computadores diferentes. Las especificaciones técnicasde dichas tarjetas se muestran en la tabla 4.6.

La configuración del bloque en términos de organización y tamaño se ha estable-cido para favorecer el acceso coalescente, y la reutilización de la memoria caché. Porello, se ha optado por definir bloques bidimensionales con un número mayor de fi-

Page 165: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 133

Frecuencia (MHz) MemoriaModelo Memoria (MB) SM Nucleo Memoria AB (GB/s) GFlops

460 1024 7 1350 1700 115,2 907,2470 1280 14 1215 1674 133,9 1088,64

Tabla 4.6: Especificaciones técnicas para las tarjetas gráficas GeForce GTX 460 y 470.

las que de columnas. El fijar un número de filas elevado es para favorecer el accesocoalescente a lo largo de las columnas. Para decidir el tamaño de bloque óptimo,se han realizado diversas pruebas con diferentes tamaños de bloque. Para cada unade estas pruebas se ha medido el tiempo invertido por cada uno de los dos kernelsdetallados en la Figura 4.18. En concreto se identifica el primer kernel como ke, yaque actualiza las componentes del campo eléctrico, mientras que el segundo kernelactualiza el campo magnético, por lo que se identificará a través del índice kh.

Para cada uno de los casos se ha calculado el rendimiento en Flops por segundo,el cual define el número de operaciones en coma flotante realizadas en un segundo. Enla actualidad, dado que los microprocesadores presentan rendimientos del orden debillones de operaciones, se suele utilizar para simplificar el término de GFlops/s. Paraobtener este parámetro basta con evaluar el número de operaciones que involucrantérminos en como flotante (sumas, restas, multiplicaciones, etcétera) y dividir dichacantidad de operaciones entre el tiempo invertido en ellas.

256×2 128×4 192×4 256×4 64×8tke (ms) 1,41 1,44 1,52 1,47 1,51tkh

(ms) 1,19 1.25 1,21 1,21 1,31ABke

ef (GB/s) 148,81 145,78 137,78 142,97 138,64ABkh

ef (GB/s) 88,02 83,54 86,4 86,87 79,83Rendimientoke (GFlops) 27,9 27,33 25,83 26,81 26Rendimientokh

(GFlops) 33 31,32 32,4 32,57 29,94RendimientoT (GFlops) 30,24 29,2 28,75 29,41 27,83

Tabla 4.7: Comparativa de diferentes tamaños de bloque para el el método de las DFDTen dos dimensiones. Datos obtenidos con la tarjeta GeForce GTX 470 para un tamaño desimulación de 2560×2560 celdas.

En la Tabla 4.7 se muestran los tiempos de cómputo de los dos kernels ilustradosen la Figura 4.18a. Para los datos mostrados en la Tabla 4.7 el número de celdastomadas en la simulación era de nf = 2560 y nc = 2560. De manera sencilla, a partirde la Figura 4.18, se puede determinar que el número de operaciones flotantes parael primer kernel es de (nf − 1)× (nc− 1)× 6, mientras que para el segundo kernel el

Page 166: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

134 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

número de operaciones en coma flotantes es de 3×nf×(nc−1)+3×(nf−1)×nc×3.

Respecto al cálculo del ancho de banda efectivo, se ha recurrido a la expre-sión (4.5). A partir de una inspección sencilla de las expresiones evaluadas en loskernels, se pueden obtener los siguientes números de operaciones de lectura y escrit-ura para cada uno de los kernels:

Bkel = (nf − 1)× (nc − 1)× 4× 6, (4.6)

Bkee = (nf − 1)× (nc − 1)× 4× 2, (4.7)

Bkhl = [nf × nc + nf × (nc − 1) + (nf − 1)× nc]× 4, (4.8)

Bkhe = [nf × (nc − 1) + (nf − 1)× nc]× 4, (4.9)

donde en todos los casos se multiplica por 4 ya que un número en coma flotante deprecisión simple ocupa 4 bytes. A la vista de los datos proporcionados, cabe destacarciertos puntos interesantes. Uno de los factores que llama más la atención es el hechode que el ancho de banda efectivo para el kernel del campo eléctrico supere el teóricoproporcionado por el fabricante en la Tabla 4.6 en un 111%. Esto es debido a queen la realidad, la caché L1 introducida en la arquitectura NVIDIA, reduce el númerode accesos totales a memoria global. Ya que el método de las DFDT recurre a celdasadyacentes, es posible que estos valores hayan sido accedidos previamente por unmismo hilo presente en el bloque. En nuestro caso particular, el número de accesos amemoria global del primer kernel es mucho menor, ya que el acceso a la matriz Hy

se beneficia de la caché de primer nivel. Si despreciamos uno de los accesos de dichamatriz y obtenemos de nuevo el número de lecturas para dicho kernel, obtenemosque:

Bkel = [nf × (nc − 1) + (nf − 1)× (nc)×+(nf − 1)× (nc − 1)× 2]× 4. (4.10)

Si volvemos a obtener el ancho de banda para dicho kernel obtendríamos un valorde ABef de 111,48 GB/s, que es mucho más cercano al valor máximo teórico. Te-niendo en cuenta el uso de la caché obtenemos un uso del ancho de banda cercano83,3% del valor máximo del fabricante, y superior al 75%. Por lo que podemos con-cluir, que el tamaño de bloque de 256×2 es el tamaño óptimo y que proporcionamejores prestaciones. El hecho de aumentar en columnas dicho bloque no favoreceal rendimiento del sistema, debido a que se reducen el número de hilos totales queacceden de forma coalescente en la dimensión de almacenamiento de los datos, esdecir, en columnas. Por lo que el gestor de hilos encuentra muchas más dificultadespara enmascarar los cambios de contexto, ya que existen menos warps listos paraentrar en el multiprocesador.

Otro dato importante a partir de las medidas preliminares realizadas, es que elmétodo de las DFDT es un algoritmo de una intensidad operacional muy baja. Si

Page 167: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 135

calculamos la relación entre las instrucciones de coma flotante y el ancho de banda,obtenemos el siguiente valor:

IP =FlopsABef

=27, 9 · 109

111, 48 · 109= 0, 25, (4.11)

lo que indica que el método necesita hasta cuatro transferencias para calcular unresultado. Por lo que el patrón de acceso a memoria es vital para la optimizaciónde este método numérico, y que el rendimiento del algoritmo vendrá limitado por elancho de banda entre memoria global y la UPG. Por ello, los rendimientos en Flopsestán del orden del 2% del valor máximo de pico proporcionado por el fabricante.Es necesario destacar, que los rendimiento máximos proporcionados por el fabricanteson cotas máximas calculadas a partir del hardware y su capacidad en situacionescompletamente favorables. En la realidad, existen muy pocas casos en los que se al-cancen dichas cotas en aplicaciones científicas y los rendimientos son muy sensibles altipo de aplicación. Trabajos recientes sobre computación de alto rendimiento basadoen UPG corroboran que los valores obtenidos son aceptables y por lo tanto verificanel esquema propuesto [12, 15].

4.2.5. Implementación del método de las DFDT en CUDApara el análisis de medios infinitos

En este punto se va a detallar la implementación de las CFA en las UPG. Esteformalismo fue introducido en el punto 3.2.2, y concretamente se han consideradolas PMLs desarrolladas en [16–20].

En la Figura 4.19 se muestran los kernels invocados para el cálculo del campoelectromagnético en dos dimensiones con las PMLs. Dichas expresiones fueron de-sarrolladas en el Capítulo 3. Tal y como se aprecia en la Figura 4.19, el algoritmosigue constando de dos kernels, pero la complejidad de ambos ha aumentado consi-derablemente. Siguiendo el mismo procedimiento detallado en el apartado anteriorse muestra un análisis de los tamaños de bloques para ambos kernels en la Tabla 4.8.

En la Tabla 4.8 se muestran los tiempos de cómputo de los dos kernels ilustradosen la Figura 4.19. Para los datos mostrados en la Tabla 4.8 el número de celdasconsideradas en la simulación es de nf = 2560 y nc = 2560, al igual que para el casoanterior. De manera sencilla, a partir de la Figura 4.19, se puede determinar que elnúmero de operaciones flotantes para el primer kernel es de (nf − 1)× (nc− 1)× 10,mientras que para el segundo kernel el número de operaciones en coma flotante esde nf × (nc − 1)× 8 + (nf − 1)× nc × 8.

Page 168: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

136 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Kernel CUDA: Update_Electric_Kernel

Dz|i,j = Cx|iCy|jDz|i,j + c·Bx|iBy|jCh|i,jn+1/2 n-1/2

Ch|i,j = Hy|i+1/2,j - Hy|i-1/2,j - Hx|i,j+1/2 + Hx|i,j-1/2n n n n

Kernel CUDA: Update_Magnetic_Kernel

Hy|i+1/2,j = Cx|i+1/2Cy|jHy|i+1/2,j -c·Bx|i+1/2[Ce|i,j+IHy|i+1/2,j]

n+1 n

Ce|i,j = Ez|i+1,j - Ez|i,jn+1/2 n+1/2

IHy|i+1/2,j =IHy

|i+1/2,j + Ay|jCe|i,jn+1/2 n+1/2

n+1/2

Hx|i,j+1/2 = Cy|j+1/2Hx|i,j+1/2 - c·By|j+1/2[Ce|i,j+IHx|i,j+1/2]

n+1 n

Ce|i,j = Ez|i,j - Ez|i,j+1n+1/2 n+1/2

IHx|i,j+1/2 =IHx

|i,j+1/2 + Ax|iCe|i,jn+1/2 n+1/2

n+1/2

Ez|i,j = Ga|i,jDz|i,jn+1/2 n+1/2

~ ~

~ ~

~ ~

~ ~

Figura 4.19: Esquema de los kernels invocados para el cálculo del campo electromagnéticoen dos dimensiones mediante CUDA incluyendo las CAP.

El comportamiento del ancho de banda sigue la misma tendencia que para el casode la simulación sin CFA, aunque en este caso los dos kernels sobrepasan el ancho debanda teórico especificado por el fabricante (véase Tabla 4.6) en un 131,38% y en un106,78% para el caso del kernel del campo eléctrico y magnético, respectivamente.A partir de una inspección sencilla de las expresiones evaluadas en los kernels, sepueden obtener los siguientes números de operaciones de lectura y escritura paracada uno de los kernels:

Bkel = (nf − 1)× (nc − 1)× 4× 6 + [(nf − 1)× 2 + nc − 1× 2]× 4, (4.12)

Bkee = (nf − 1)× (nc − 1)× 4× 2, (4.13)

Bkhl = [nf × nc + nf × (nc − 1)× 2 + (nf − 1)× nc × 2 +

(nf − 1)× 3 + nc − 1× 3]× 4, (4.14)Bkh

e = [nf × (nc − 1)× 2 + (nf − 1)× nc × 2]× 4, (4.15)

Siguiendo el mismo procedimiento descrito para el caso de la implementaciónpreliminar del método se puede realizar un cálculo aproximado del ancho de bandaefectivo real, teniendo en cuenta la caché L1, por lo que los accesos de lectura parael primer kernel serían

Bkel = [nf × (nc − 1) + (nf − 1)× (nc)×+(nf − 1)× (nc − 1)× 3 +

(nc − 1)× 2]× 4. (4.16)

Page 169: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 137

256×2 128×4 192×4 256×4 64×8tke (ms) 1,48 1,46 1,55 1,49 1,49tkh

(ms) 2,2 2,24 2,39 2,25 2,3ABke

ef (GB/s) 175,92 179 149,67 169,27 176,24ABkh

ef (GB/s) 142,98 140,56 131,71 139,67 136,63Rendimientoke (GFlops) 43,97 44,74 37,41 42,31 44,1Rendimientokh

(GFlops) 47,65 46,84 43,9 46,54 46,55RendimientoT (GFlops) 46,16 46,01 41,15 44,82 44,95

Tabla 4.8: Comparativa de diferentes tamaños de bloque para el el método de las DFDT endos dimensiones con la incorporación de las PMLs. Datos obtenidos con la tarjeta GeForceGTX 470 para un tamaño de simulación de 2560×2560 celdas.

Con estos datos, el ancho de banda del kernel ke pasaría a ser realmente cercano a123 GB/s, el cual es ligeramente mayor al del implementación preliminar e inferior almáximo teórico. En esta implementación, también se va a estudiar el ancho de bandapara el kernel que actualiza las componentes Hx y Hy, ya que es significativamentediferente al de la implementación preliminar. Para este kernel en concreto, si tenemosen cuenta los efectos de la caché de primer nivel, los accesos a memoria se reduciríande la siguiente forma:

Bkhl = [nf × nc + nf × (nc − 1)× 2 + (nf − 1)× nc +

(nc − 1)× 2]× 4. (4.17)Bkh

e = [nf × (nc − 1)× 2 + (nf − 1)× nc × 2]× 4 (4.18)

Estos valores implican una ancho de banda del kernel de 95,3 GB/s, el cual siguesiendo menor al mostrado en la tabla 4.8 por el uso de la caché de primer nivel y almismo tiempo sigue siendo menor al teórico.

En esta implementación, la intensidad operacional para ambos kernels es de:

IPke =FlopsABef

=43, 97 · 109

123 · 109= 0, 36, (4.19)

IPkh=

FlopsABef

=47, 64 · 109

95, 3 · 109= 0, 5. (4.20)

En este caso, la implementación mejora la intensidad operacional, a costa deaumentar ligeramente la memoria y en consecuencia el ancho de banda.

Una vez realizado estos análisis, se decide que para la implementación del métodode las DFDT el mejor tamaño de bloque es el de 256×2 hilos. El cual proporciona

Page 170: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

138 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

buenas prestaciones tanto en la versión preliminar del método como con la incorpo-ración de las CFA.

4.2.6. Implementación del método de las DFDT en CUDApara el análisis de medios infinitos y ondas planas

En este punto se va a introducir la formulación de CT-CD para dos dimensionesintroducida en el Capítulo 3.2.2. Incluir este formalismo implica una modificación enla estructura de los kernels mostrados con anterioridad en las Figuras 4.18 y 4.19.

KERNEL CUDA: Conn-Condition_Dz_columns

Dz|ia,j = Dz|ia,j - Hxinc|ia-1/2,j(d,θ)

n+1/2 n-1/2 n

Dz|ib,j = Dz|ib,j + Hxinc|ib+1/2,j(d,θ)

n+1/2 n-1/2 n

~ ~

~~

KERNEL CUDA: Update_Dz_Field

Dz|i,j = Cx|iCy|jDz|i,j + 0.5·Bx|iBy|jCh|i,j

Ch|i,j = Hy|i+1/2,j - Hy|i-1/2,j - Hx|i,j+1/2 + Hx|i,j-1/2n n

n+1/2 n-1/2

n n

~ ~

n+1/2~

KERNEL CUDA: Update_Ez_Field

Ez|i,j = Ga|i,jDz|i,jn+1/2~

n+1/2 n-1/2 n

KERNEL CUDA: Conn-Condition_Dz_rows

Dz|i,ja = Dz|i,ja + Hxinc|i,ja-1/2(d,θ)

Dz|i,jb = Dz|i,jb - Hxinc|i,jb-1/2(d,θ)n+1/2 n-1/2 n

~ ~

~~

KERNEL CUDA: Update_Einc_Field

ezinc|k = ezinc|k + c|k ( hxinc|k-1-hxinc|k )n nn+1/2 n-1/2

+ABC-1D

Figura 4.20: Esquema de los kernels invocados para el cálculo del campo eléctrico en dosdimensiones mediante CUDA incluyendo las PMLs y la formulación de CT-CD.

En la Figura 4.20 se muestra como el kernel que calcula el vector desplazamientoy el campo eléctrico se ha divido en dos kernels ya que se ha introducido la formu-lación de campo total y dispersado para el vector desplazamiento. También se haintroducido un kernel extra que se encarga de calcular el campo eléctrico en el vector

Page 171: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 139

destinado a albergar la información relacionada con la fuente. Tal y como se ilustraen el esquema de la Figura 3.14, el campo incidente en el plano bidimensional escalculado a partir de dos vectores que contienen la propagación de la fuente en elcaso unidimensional. Ambos vectores constituyen una simulación básica del métodode las DFDT en una dimensión. Su implementación en CUDATM se ha llevado acabo mediante bloques unidimensionales de 128 hilos y un número de bloques quecubra la longitud total de dicho bloque. Es decir, si la longitud del vector incidente sedefine como linc, el número de bloques será el número entero menor q que cumpla ladesigualdad 128 ·q ≥ linc. Dicha propagación es interpolada en función de la posiciónpara calcular el valor correcto de campo incidente en las interfases entre el campototal y el campo dispersado. Este proceso está gobernado por las expresiones (3.90)-(3.94) para el caso de incidencia plana, y las expresiones (3.96)-(3.99) que definenlas variables a aplicar en los valores del campo incidente (3.100)-(3.101) en funcióndel ángulo de incidencia y de la posición.

El cálculo en la interfase entre el campo total y campo dispersado para el vectordesplazamiento se han divido a su vez en dos kernels. Esto es debido a que el primerode ellos si que presenta una implementación directa en CUDA debido al acceso coa-lescente a lo largo de las columnas ja y jb. Para este kernel se ha utilizado un tamañode bloque unidimensional de 128 hilos y una malla unidimensional de tamaño igualal menor entero p que cumpla la desigualdad 128 · p ≥ (ib − ia).

El segundo kernel encargado de calcular las denominadas connecting conditionsen i = ia e i = ib presentan un acceso no coalescente en el caso de que se deseé accederen la dirección de las filas, por lo que se ha optado por estructurar la malla y el bloquede dicho kernel para evitar latencias en los accesos a memoria. El procedimientorealizado a sido definir un bloque unidimensional de un único warp, es decir, con32 hilos. La malla se establece de forma similar al caso anterior, salvo que cadabloque se encargará de actualizar un único valor de las connecting conditions. Paraello la malla se define con un tamaño de jb − ja bloques. Cada uno de los bloques seencargará de actualizar un único valor por columna, por lo que cada bloque realizaráun acceso coalescente desde la fila i hasta la i + 31, siendo ia ≤ i ≤ ib. El escogerel tamaño de bloque de un único warp es debido a que el acceso a memoria globalde un warp es realizado en un ciclo de reloj de la UPG, por lo que es indiferenteacceder a una posición que a 32, ya que el hardware del sistema implica que alacceder a una posición de memoria se acceden a las 31 consecutivas. De los 32 hilosque conforman el warp únicamente el primero realizará el cálculo de actualizar elcampo en la interfase entre el campo total y el dispersado, mientras que el resto semantienen ociosos.

Este procedimiento se ilustra en la Figura 4.21, donde se muestra la malla desimulación y la región de CT-CD. La interfase entre el campo total y el campo

Page 172: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

140 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Accesos coalescentes

filas

columnas

warp4 warps

Acceso no coalescente

ib

ia

ja jb

Figura 4.21: Estrategía utilizada para evitar accesos no coalescentes en la evaluación delas connecting conditions.

dispersado en las columnas j = ja y j = jb, es procesada por un bloque que accedea memoria global de forma coalescente. Este bloque se desplaza a lo largo de ladimensión de las filas para recorrer toda la interfase, tanto en j = ja, como enj = jb. Para el caso de la interfase entre el campo total y el campo dispersado a lolargo de la dimensión de las filas (i = ia y i = ib), es de tipo no coalescente, por loque un bloque de un único warp de tamaño se desplaza a lo largo de las columnaspara actualizar la posición de la interfase correspondiente.

La Figura 4.22 ilustra el esquema de kernels aplicados al cómputo del campomagnético, donde se han utilizado las mismas estrategias para optimizar el proced-imiento que para el caso del campo eléctrico.

Kernel textbfMalla BloqueUpdate_Einc_Field (linc/128,1) (128,1)Update_Dz_Field (nf/256,nc/2) (256,2)Conn-Condition_Dz_rows ((ib-ia)/128,1) (128,1)Conn-Condition_Dz_columns ((jb-ja),1) (32,1)Update_Ez_Field (nf/256,nc/2) (256,2)Update_Hinc_Field (linc/128,1) (128,1)Update_Magnetic_Field (nf/256,nc/2) (256,2)Conn-Condition_Hy ((jb-ja),1) (32,1)Conn-Condition_Hx ((ib-ia)/128,1) (128,1)

Tabla 4.9: Resumen de los tamaños de bloque y de malla para cada uno de los kernelsmostrados en las Figuras 4.20 y 4.22.

Page 173: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

4.2 Optimización del método de las DFDT en unidades de procesado gráfico 141

n+1 n

n+1

KERNEL CUDA: Conn-Condition_Hy

Hy|ia-1/2,j = Hy|ia-1/2,j - Ezinc|ia,j (d,θ)

n+1/2

Hy|ib+1/2,j = Hy|ib+1/2,j +Ezinc|ib,j (d,θ)

n+1/2n

n+1 n

n+1

KERNEL CUDA: Conn-Condition_Hx

Hx|i,ja-1/2 = Hx|i,ja-1/2

+ Ezinc|i,ja (d,θ)n+1/2

Hx|i,jb+1/2 = Hx|i,jb+1/2

- Ezinc|i,jb (d,θ)n+1/2n

n+1

n+1/2

n+1/2 n+1/2

KERNEL CUDA: Update_Magnetic_Field

Hy|i+1/2,j = Cx|i+1/2Cy|jHy|i+1/2,j - c·Bx|i+1/2[Ce|i,j+IHy|i+1/2,j]

n

Ce|i,j = Ez|i+1,j - Ez|i,jn+1/2

IHy|i+1/2,j =IHy

|i+1/2,j + Ay|jCe|i,jn+1/2

~ ~

Hx|i,j+1/2 = Cy|j+1/2Hx|i,j+1/2 - 0.5·By|j+1/2[Ce|i,j+IHx|i,j+1/2]

n+1 n

Ce|i,j = Ez|i,j - Ez|i,j+1n+1/2 n+1/2

IHx|i,j+1/2 =IHx

|i,j+1/2 + Ax|iCe|i,jn+1/2 n+1/2

n+1/2

~ ~

KERNEL CUDA: Update_Einc_Field

hxinc|k = hxinc|k + c|k ( ezinc|k-ezinc|k+1 )n-1/2 n n

+ABC-1D

n-1/2

Figura 4.22: Esquema de los kernels invocados para el cálculo del campo magnético en dosdimensiones mediante CUDA incluyendo las PMLs y la formulación de CT-CD.

Finalmente, en la Tabla 4.9 se resumen los tamaños de bloque y de malla paralas llamadas de cada uno de los kernels que computan el campo electromagnético,recogidos en las Figuras 4.20 y 4.22.

Page 174: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

142 CAPÍTULO 4. OPTIMIZACIÓN COMPUTACIONAL

Page 175: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Bibliografía

[1] Intel R© 64 and IA-32 Architectures Optimization Reference Manual. Intel Cor-poration, 2011.

[2] J. Doweck. White Paper: Inside IntelR© CoreTM Microarchitecture and SmartMemory Access. Intel Corporation, 2006.

[3] W. P. Petersen y P. Arbenz. Introduction to Parallel Computing: A PracticalGuide with Examples in C. Oxford texts in Applied and Engineering Mathe-matics, 2004.

[4] T. Shreekant y T. Huff. The internet streaming simd extensions. Intel Technol-ogy Journal, Q2:1–8, 1999.

[5] OpenMP Application Program Interface. OpenMP Architecture Review Board,2008.

[6] Whitepaper NVIDA’s Next Generation CUDATM Compute Architecture:FermiTM . NVIDIA Corporation, 1.1 edición, 2009.

[7] M. Weigel. Simulating spin models on GPU. Computer Physics Communica-tions, In Press, Corrected Proof:–, 2010. ISSN 0010-4655.

[8] NVIDIA CUDATM: CUDA C Best Practices Guide. NVIDIA Corporation, 3.2edición, 2010.

[9] Tunning CUDATM Applications for FermiTM . NVIDIA Corporation, 1.3 edición,2010.

[10] M. Bernaschi, G. Parisi, y L. Parisi. Benchmarking gpu and cpu codes forheisenberg spin glass over-relaxation. Computer Physics Communications, 182(6):1265–1271, 2011.

Page 176: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

144 BIBLIOGRAFÍA

[11] N. Ferrando, M.A. Gosálvez, J. Cerdá, R. Gadea, y K. Sato. Octree-based,GPU implementation of a continuous cellular automaton for the simulation ofcomplex, evolving surfaces. Computer Physics Communications, 182(3):628 –640, 2011.

[12] K-H. Kim, K. Kim, y Q-H. Park. Performance analysis and optimization ofthree-dimensional fdtd on gpu using roofline model. Computer Physics Com-munications, 182(6):1201–1207, 2011.

[13] J. M. Cecilia, J. M. García, G. Guerrero, M. Martínez-del-Amor, I. Pérez-Hurtado, y journal = J. Logic and Algebraic Programming year = 2009 vol-ume = 79 pages = 317–325 Pérez-Jiménez, M.". Simulating a p system basedefficient solution to SAT by using GPUs.

[14] NVIDIA Corporation. CUDA occupancy calculator.http://news.developer.nvidia.com/2007/03/cuda_occupancy_.html, 03 2007.

[15] F. Ino, Y. Okitsu, T. Kishi, S. Ohnishi, y K. Hagihara. Out-of-core cone beamreconstruction using multiple gpus. En Biomedical Imaging: From Nano toMacro, 2010 IEEE International Symposium on, pages 792 –795, 2010.

[16] A. Taflove. Computational Electrodynamics: The Finite-Difference Time-Domain Mehtod. Artech House Publishers, 1995.

[17] J. P. Berenger. A perfectly matched layer for the absoprption of electromagneticwaves. J. Comput. Phys, 114:185–200, 1994.

[18] J. P. Berenger. Three-dimensional perfectly matched layer for the absorption ofelectromagnetic waves. J. Comput. Phys, 127:363–379, 1995.

[19] D. M. Sullivan. Electromagnetic Simulation using the FDTD Method. IEEEPress Editorial Board, 2000. ISBN 0-7803-4747-1.

[20] D. M. Sullivan. A simplified pml for use with the fdtd method. Microwave andGuided Wave Letters, IEEE, 6(2):97–, Feb 1996.

Page 177: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 5

Resultados

En este capítulo se van a mostrar los resultados obtenidos mediante la aplicacióndel algoritmo de las DFDT a diferentes sistemas ópticos. Se parte de problemas bienestablecidos dentro del mundo de la óptica como el experimento de una rendija yde doble rendija de Young. Estos dos experimentos junto con el de la simulación deN aperturas y la apertura circular, servirán para validar el método de las DFDTaplicado a un problema óptico. Las irradiancias (magnitud proporcional al cuadradodel campo eléctrico [1]) obtenidas mediante expresiones analíticas conocidas y lasobtenidas en campo cercano y lejano (regiones de Fresnel y de Fraunhofer respecti-vamente) a partir del método de las DFDT en dos y tres dimensiones nos permitencomprobar la rigurosidad del método numérico y verificar la implementación.

Posteriormente se analizarán los resultados obtenidos al analizar filtros de capadelgada: en concreto se analizarán láminas de alta reflectancia. A continuación, setratarán las redes holográficas de volumen tanto en reflexión como en transmisión,cuyas aplicaciones son diversas y varían desde la reconstrucción de imágenes hastael almacenamiento de información. Para este caso, se han estudiado la eficienciaen difracción y en transmisión en función del grosor de la red, de la longitud deonda y la selectividad angular. Finalmente se muestran los resultados obtenidos dela optimización computacional introducida en el método para su ejecución en UPCy UPG.

Page 178: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

146 CAPÍTULO 5. RESULTADOS

5.1. Difración de aperturas

El tratamiento considerado en esta Sección hace uso de la aproximación de lateoría escalar, donde no se tiene en cuenta el carácter vectorial del campo electro-magnético. La implementación numérica del método de las DFDT permite calcularefectos de polarización por tratarse de un formalismo que permite resolver de man-era directa, las expresiones vectoriales presentes en las ecuaciones de Maxwell. Sinembargo, en este trabajo no se va a explotar este carácter vectorial.

En este punto se va a analizar el comportamiento de la luz al interferir en un planocon una apertura de reducidas dimensiones. A partir de experiencias sencillas, sepuede determinar como la luz emitida en el plano de la apertura que incide sobre otroplano cercano presenta un patrón muy similar a la forma de la apertura, junto conalgunos lóbulos que suavizan los bordes [1]. A medida que el plano de observación Υ sealeja del plano de las aperturas Γ, la forma de la apertura sigue siendo identificablepero la intensidad de los lóbulos laterales comienza a ser más significativa. Estefenómeno se conoce como difracción de Fresnel o de campo cercano. Si la distanciaentre la pantalla Υ y la apertura Γ aumenta, es más difícil identificar el patrón dedifracción con la forma de la apertura. Una vez que la distancia entre planos superaun umbral, el patrón de difracción se estabiliza y no presenta cambios significativosen términos de forma. Esta distancia delimita la región de Fraunhofer, cuyo patrónde difracción recibe el nombre de difracción de Fraunhofer.

Para poder comparar las curvas numéricas obtenidas a través del método numéri-co se va a introducir la teoría básica que permite obtener expresiones analíticas de ladifracción en ambas regiones. Esta teoría es bien conocida y se ha decidido introduciren esta sección ya que permite introducir el esquema y la nomenclatura utilizada paracada una de las configuraciones presentadas.

Si consideremos una abertura rectangular, como una fuente lineal de osciladores,tal y como se muestra en la Figura 5.1 por una radiación luminosa monocromáticacoherente de longitud de onda λ (en nuestro caso λ = 633 nm), el campo eléctricodebido a la apertura en cualquier punto P , se define a través de la siguiente integraldefinida [1]:

E = EL

∫ b/2

−b/2

sin (ωt− kr)r

dx, (5.1)

donde EL es la eficiencia de la fuente por unidad de longitud, k es el número deonda, r = r(x) es la distancia entre un punto de la apertura y el punto del espacioP y b es la anchura de la apertura. La expresión (5.1) y sus soluciones obtenidas enfunción de las aproximaciones consideradas permite definir el campo en la región deFresnel y de Fraunhofer.

Page 179: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 147

P

y

z

x

θ

b/2

−b/2

R

r(x)

Figura 5.1: Esquema de una fuente lineal coeherente.

La aproximación de Fresnel parte de la expresión (5.1), en forma diferencial yconsiderando la geometría mostrada en la Figura 5.2, donde la contribución a laperturbación óptica en P , dEp, de las fuentes secundarias puede definirse como:

dEp =E0

ρrλsin [k(ρ + r)− ωt] dS, (5.2)

o utilizando la notación fasorial

dEp =E0

ρrλej[k(ρ+r)−ωt]dS, (5.3)

con E0 siendo la amplitud de la onda que se propaga libremente.

r0rP

z

x

O

-b/2

b/2

-d/2

d/2

ρ0

ρS

Figura 5.2: Esquema de una apertura.

Tal y como se muestra en la Figura. 5.2, el término de fase puede aproximarse apartir de la siguiente serie binomial:

ρ =(ρ20 + x2 + z2

)1/2

r =(r20 + x2 + z2

)1/2

ρ + r ≈ ρ0 + r0 +

(x2 + z2

)× ρ0 + r0

2ρ0r0. (5.4)

Page 180: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

148 CAPÍTULO 5. RESULTADOS

Cabe destacar que la principal diferencia entre la aproximación de Fraunhofery Fresnel reside en que en Fraunhofer, los términos superiores al segundo no sonconsiderados. La expresión (5.2) en notación compleja y al aplicar la aproximaciónde Fresnel definida en (5.4) permite deducir las siguientes expresiones:

Ep =E0e

−jωt

ρ0r0λ

∫ d/2

−d/2dy

∫ b/2

−b/2ejk(ρ+r)dz ≈ E0e

j[k(ρ0+r0)−ωt]

ρ0r0λ

×∫ u(d/2)

u(−d/2)ej πu2

2 du

∫ v(b/2)

v(−b/2)ej πv2

2 dv, (5.5)

donde u(z) ≡ z[

2(ρ0+r0)λρr0

]1/2,v(x) ≡ x

[2(ρ0+r0)

λρr0

]1/2y el término que precede a

la integral puede definirse en términos de Eu/2. Ambas integrales puede se ree-scribir en función de las integrales de Fresnel C(ω) =

∫ ω cos(πω′2/2)dω′ y S(ω) =∫ ω sin(πω′2/2)dω′. Para el caso concreto de ondas planas (ρ →∞), las variables u y

v pueden redefinirse como u = y[

2λr0

]2y v = z

[2

λr0

]2.

Por lo tanto, la ecuación (5.5) puede reformularse de manera sencilla como:

Ep =Eu

2[C(u)− jS(u)]u2

u1[C(v)− jS(v)]v2

v1= B12(u)B12(v), (5.6)

donde, para el caso particular de aperturas infinitas a lo largo del eje y, la irradianciaproducida por la apertura en un punto P puede obtenerse como:

Ip =I0

2|B12(v)|2. (5.7)

A partir de la relación (5.7) y del teorema de superposición, se obtiene de maneradirecta la irradiancia producidas por varias aperturas delgadas infinitas que se hallenparalelas entre sí.

Por otro lado, la aproximación de Fraunhofer se basa en la condición de que ladistancia R À b (véase Figura 5.1). Bajo esta suposición r(x) presenta un valor próx-imo a R. El término r(x) se redefine a partir de la series de MacLaurin despreciandotodos los términos superiores al tercer orden.

r = R− x sin θ + (x2/2R) cos2 θ + · · · ' R− x sin θ, (5.8)

donde θ se miden en el plano xy y x = ±b/2 siendo R suficientemente grande.Introduciendo la relación (5.8) en (5.1), la siguiente expresión puede ser deducida:

E = εL

∫ b/2

−b/2

sin (ωt− kr)r

=εL

R

∫ b/2

−b/2sin [ωt− k(R− x sin θ)] dx, (5.9)

Page 181: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 149

Tabla 5.1: Región límite entre las aproximaciones de Fresnel y Fraunhofer

Fraunhofer Fresnel

F ≤0.6 F > 0.6

Tabla 5.2: Expresiones en región de Fraunhofer de la irradiancia normalizada en funcióndel número de aperturas

1 aperture 2 apertures N aperturesI(θ)I(0)

(sin β

β

)2

4(

sin ββ

)2

cos2 α(

sin βNβ

)2 (sin Nα

α

)2

por lo que

E =bεL

R

sinβ

βsin (ωt− kR) , (5.10)

con β = (kb/2) sin θ. Además, si se tiene en cuenta que la irradiancia puede definirsecomo I(θ) = 〈E2〉T y que el término independiente en (5.10) es igual a 1/2 [1], esfácil deducir la siguiente ecuación

I(θ) = I(0)(

sinβ

β

)2

, (5.11)

con I(0) = 12

(εLbR

)2. El rango de validez de estas expresiones definen lo que se

denomina la región de Fraunhofer y dicha región está definida a partir de la condiciónde Fraunhofer, F = b2/Lλ ¿ 1, siendo b la anchura de la apertura y L la distanciaentre los planos Γ y Υ. Sin embargo, algunos autores definen un límite más precisoentre las regiones de Fresnel y Fraunhofer [3] recogido en la Tabla 5.1. Además, laTabla 5.2 resume el conjunto de expresiones que definen la irradiancia para diferentesnúmeros de aperturas, así como la expresión general, con α = (ka/2) sin θ, y a siendola distancia entre aperturas.

A partir de las expresiones mostradas en la Tabla 5.1 para la región de Fraunhofery la expresión (5.7) para la región de Fresnel, se pueden calcular de manera teóricalas curvas de irradiancia para cualquier punto definido en un plano Υ alejado delplano de las aperturas Γ.

De la expresión mostrada en la Tabla 5.2 para el caso de una apertura se puedededucir que la irradiancia toma valores mínimos para valores z tales que

sinc2

(bx

λL

)= 0 ⇒ π

bx

λL= mπ ⇒ xm = m

λL

b, (5.12)

Page 182: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

150 CAPÍTULO 5. RESULTADOS

-2 0 2 3 -3 1-10

0,2

0,4

0,6

0,8

1

I(θ)/

I(0)

(a.n

.)

(b)

-2 0 21-10

0,2

0,4

0,6

0,8

1

(a)Fraunhofer

DFDT-2D

DFDT-3D

I(θ)/

I(0)

(a.n

.)

β/π (adim.) β/π (adim.)

Figura 5.3: Patrón de difracción obtenido para la simulación de una rendija comparadocon el modelo teórico de Fraunhofer. Para ambos casos ∆ = 63,3 nm, d = 50∆ = 3,17µm, λ= 633 nm. a) b = 50∆ = 3,17µ m. b)b = 80∆x = 5,1µ m.

donde para ángulos θ pequeños, el seno del ángulo se puede aproximar a z/L.

Todos los lóbulos presentarán la misma anchura, dada por λL/b. La distancia La la cual se calcula la propagación de campo cercano a lejano debe de satisfacer lacondición de campo lejano o región de Fraunhofer, dada por F = b2/Lλ ¿ 1 o por elcontrario mostrada en la Tabla 5.1. Para nuestro caso, hemos escogido una distanciaL = 4000∆, que para el caso de una rendija de b = 50∆, F = 0,0625; mientrasque para una de anchura b = 80∆, F = 0,16. Respecto a los puntos inspeccionadospara detectar la irradiancia, se han recorrido puntos comprendidos entre -2000∆ y2000∆ a pasos de 40∆. En la Figura 5.3 se se muestran los resultados tanto parala versión 2D como para la 3D para dos valores de anchura de apertura (b). Lamotivación principal de realizar análisis bi y tridimensionales del mismo tipo deaperturas se basa en verificar que ambas implementaciones son correctas, por ello,en ambos casos se analizan los mismos puntos situados en campo lejano. Se puede verque para ambas aperturas y ambas versiones del algoritmo, los resultados obtenidosse ajustan con gran precisión al modelo teórico. El aumento de la apertura, repercute

Page 183: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 151

∆ λ/10 λ/20

error (%) 0,32 0,37dimensiones (celdas) 100× 60× 100 200× 60× 240

tiempo (min) 6 min 23 min

Tabla 5.3: Comparativa entre resolución del mallado y prestaciones del algoritmo (versiónsecuencial).

en un mayor número de lóbulos producidos por la difracción, por ello en la figura5.3b se pueden encontrar un mayor número de nulos y máximos relativos que parael caso de la figura 5.3a en los mismos puntos del plano de observación.

Cabe mencionar, que se han realizado diferentes simulaciones con diversas resolu-ciones espaciales para estudiar el efecto de dicha variación en la precisión del calculodel campo lejano. El error se ha evaluado a partir del error cuadrático medio entrelas curvas analíticas y numéricas. A la vista de los resultados de la Tabla 5.3 se puedeinterpretar que un aumento de la resolución del mallado, implica para el mismo tipode ranura y la misma distancia de propagación del campo, errores similares, mien-tras que el tiempo de cálculo aumenta significativamente, junto con los recursos dememoria necesarios.

La simulación para obtener el patrón de difracción de la doble rendija se realizacon un procedimiento similar al realizado en el apartado anterior. En la Figura 5.4se muestra la configuración de la doble rendija, donde el parámetro a indica la sepa-ración entre aperturas.

En aquellos casos en los que se pueda asegurar que a À b, la distribución deirradiancia se puede calcular a partir de las expresión dada en la Tabla 5.2 para elcaso de dos aperturas en región de Fraunhofer. El perfil de irradiancia para este casoestá compuesto por la combinación lineal correspondiente con una apertura y untérmino de modulación cosenoidal. Dicho factor, presenta mínimos de z tales que

πax

λL= (2n + 1)π ⇒ xmin = (2n + 1)

λL

2a, (5.13)

πax

λL= nπ ⇒ xmax = n

λL

a. (5.14)

La distancia entre dos de estos máximos o mínimos consecutivos viene dada porλL/a.

En la Figura 5.5 se representan las curvas de irradiancia obtenidas mediante elmétodo DFDT en 2-D y 3-D, junto a la curva teórica en la región de Fraunhofer o

Page 184: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

152 CAPÍTULO 5. RESULTADOS

bd

R

θ

a

y

z

x

y

x

(b)

b

d

(a)

Figura 5.4: Configuración del sistema para la simulación y análisis de difracción provocadopor dos rendijas. a) Esquema tridimensional. b) Esquema bidimensional.

campo lejano para el caso de dos aperturas. Las irradiancias obtenidas mediante elmétodo de las DFDT se han calculado a partir del campo eléctrico calculado con latransformación de campo cercano a lejano. Esta herramienta ha permitido obtenerlos valores del campo eléctrico en puntos externos a la malla simulada, a partir delos calculados próximos a la apertura. Estos resultados muestran la precisión dela herramienta y las prestaciones que proporciona en la simulación de dispositivosópticos, donde la simulación de grandes mallas repercutiría en tiempos de cálculoelevados.

A continuación se muestra un análisis del patrón de difracción de una y dos aper-turas en función de la distancia de observación L. En la Figura 5.6 se muestran lascurvas obtenidas obtenidas con el método de las DFDT en su versión bidimensionaljunto con las curvas teóricas en la región de Fresnel y de Fraunhofer. Con este análisisse pretende analizar la precisión del método numérico tanto en la región de Fraun-hofer como en la región de Fresnel y por lo tanto también en campo próximo. Lascurvas teóricas han sido obtenidas a partir de las expresiones en región de Fraunhoferenumeradas en la Tabla 5.2 y las integrales de Fresnel en la ecuación (5.7).

Cabe recordar, que las curvas obtenidas mediante el método de las DFDT tan-to en dos dimensiones como en tres son obtenidas a partir de la transformación decampo cercano a lejano en sus versiones bidimensional y tridimensional respectiva-mente. Ambos formalismos se basan en propagar los campos obtenidos a partir delmétodo numérico en campo próximo a una región alejada de la fuente y por tanto

Page 185: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 153

-2 0 20

0,2

0,4

0,6

0,8

1(a)

I(θ)/

I(0)

(a.n

.)

β/π (adim.)-2 0 20

0,2

0,4

0,6

0,8

1(b)

I(θ)/

I(0)

(a.n

.)

β/π (adim.)

Fraunhofer

DFDT-2D

DFDT-3D

-1 1 -1 1

Figura 5.5: Patrón de difracción obtenido para la simulación de dos rendijas comparadocon el modelo teórico de Fraunhofer (d = 50∆ = 3,17µm, λ = 633 nm, ∆ = 63,3 nm). a)b = 50∆ = 3,17µ, a = 70∆ = 4,43µm. b)b = 50∆ = 3,17µ m, a = 100∆ = 0,633µm.

no contemplada en la malla de simulación. Esto implica que tanto los campos enFraunhofer, como en Fresnel y en campo próximo son válidos y la implementaciónen todas sus vertientes es correcta.

En la Figura 5.7 se muestra una secuencia con la magnitud del campo eléctricoen z en función del tiempo para el campo difractado por una apertura y por dosaperturas. Se puede apreciar que a medida los pasos temporales se suceden, el campodifractado en la apertura va propagándose hacia el infinito cambiando su patrón deinterferencia. En campo cercano la difracción es más compleja y más similar a laobtenida en la Figura 5.6a y 5.6b. A medida que que nos alejamos del plano deapertura el campo se asemeja más a las funciones analíticas listadas en la Tabla 5.2y por lo tanto a las curvas mostradas en la Figuras 5.3 y 5.4 así como en la secuenciamostrada en la Figura 5.6.

Para el caso particular de N aperturas, el proceso es muy similar al realizado enel experimento de la doble rendija. En este caso, la expresión analítica que definela irradiancia en la región de Fraunhofer, para N aperturas se ha recogido en la

Page 186: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

154 CAPÍTULO 5. RESULTADOS

(a)

-500 -250 0 250 5000

0.2

0.4

0.6

0.8

1

z (celdas)

(c)

-0,6 -0,4 -0,2 0 0,2 0,4 0,60

0.2

0.4

0.6

0.8

1

z (kceldas)

(e)

L = 500

N = 1

b = 40

L = 1000

N = 1

b = 40

L = 900

N = 2

b = 40

a = 80

-2,5 -1,5 -0,5 0 0,5 1,5 2,5z (kceldas)

(f)

L = 4500

N = 2

b = 40

a = 80

-100 -50 0 50 1000

0.2

0.4

0.6

0.8

1

z (celdas)

L = 100

N = 1

b = 40

-300 -200 -100 0 100 200 300z (celdas)

L = 300

N = 2

b = 40

a = 80

-500 -250 0 250 500z (celdas)

(b)

(d)

FDTDFresnelFraunhofer

Figura 5.6: Irradiancias normalizadas obtenidas por las expresiones teóricas en la regiónde Fresnel y Fraunhofer y numéricas a partir del método de las DFDT. Se ha estudiado elcaso de una única apertura en función de la distancia entre el plano de iluminación y demedida: casos (a), (c) and (e). Y para dos aperturas: casos (b), (d) and (f).

Page 187: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 155

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(a)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(b)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(c)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(d)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(e)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(f)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(g)

0 50 100 150 2000

100

200

y (celdas)

x (

cells)

(h)

Figura 5.7: Secuencias de la propagación del campo eléctrico en función del tiempo parauna apertura: (a) t = 50∆t, (c) t = 150∆t, (e) t = 250∆t, (g) t = 350∆t con b=40 celdas.Para dos aperturas: (b) t = 50∆t, (d) t = 150∆t, (f) t = 250∆t, (h) t = 350∆t con b = 40celdas y a = 80 celdas.

Page 188: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

156 CAPÍTULO 5. RESULTADOS

-1 0 10

0.2

0.4

0.6

0.8

1

a)

-1 0 10

0.2

0.4

0.6

0.8

1

b)Fraunhofer

DFDT2D

DFDT3D

1,8-1,8 -1,8 1,8

I(θ)/

I(0)

(a.n

.)

β/π (adim.)

I(θ)/

I(0)

(a.n

.)

β/π (adim.)

Figura 5.8: Patrón de difracción obtenido para la simulación N aperturas comparado conlas curvas teóricas en la región de Fraunhofer (a = 50∆x = 3,17µm, λ = 633 nm, ∆ = 63,3nm). a) Curva teórica para 5 aperturas y patrón de irradancia obtenido a partir del métodode las DFDT tanto para 2D y 3D, los parámetros de la simulación son: b = 50∆x = 3,17µ(únicamente en 3D), d = 70∆x = 4,43µm. b) Curva teórica para 7 aperturas y patrónde irradiancia obtenido a partir de las DFDT tanto para 2D y 3D, los parámetros de lasimulación son: b = 50∆x = 3,17µ m, d = 70∆ = 4,43µm.

Tabla 5.2 y su obtención es sencilla y está completamente detallada en [1].

En la figura 5.8 se muestran los resultados para 5 y 7 aperturas. En ambos casos,se han obtenido las irradiancias numéricas para el caso bi y tridimensional. En todoslos casos, las irradiancias se calculan a partir de la propagación del campo eléctricoen campo cercano a campo lejano. Esto permite reducir el tamaño de simulación ala mínima expresión y en consecuencia los requisitos en términos de memoria y detiempo de simulación. En la Figura 5.9b se muestra el patrón del campo eléctrico encampo lejano y como a partir del mismo puede obtenerse la curva de la irradianciailustrada en la Figura 5.9a.

Por último se va analizar el caso de la apertura circular, la cual presenta un patronde irradiancia proporcional a la función de Bessel de orden cero. Estas funciones

Page 189: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.1 Difración de aperturas 157

0

1(a)

-1,2 -0,8 -0,4 0 0,4 0,8 1,28,4

8,6

8,8

9

9,2

0

-1,2 -0,8 -0,4 0 0,4 0,8 1,28,4

-1

8,6

8,8

9

9,2

x (mm)

Tem

po (

ps)

(b)

0,10,20,30,40,50,60,70,80,9

I(θ

)/I(0

)

I(θ

)/I(0

)

Figura 5.9: Distribución del campo eléctrico (y=4000∆) generado por la perturbación de laluz sobre 5 aperturas.(a) Irradiancia normalizada. (b) I en función del tiempo y del espacioobtenido a partir de la transformación de campo cercano a lejano

son bastante conocidas y tabuladas en numerosas fuentes [1]. Dada la simetría delproblema, ilustrado en la Figura 5.10, únicamente ha podido abordarse desde laversión tridimensional del método de las DFDT.

El patrón de irradiancia producido por una apertura circular es muy conocido ycaracterístico. En el punto central se encuentra la amplitud máxima de irradiancia,el cual está rodeado por un disco oscuro correspondiente con el primer nulo de lafunción de Bessel (J1(u)) conocido como el disco de Airy.

I(θ) = I(0)[2J1(δ)

δ

]2

= I(0)[2J1(krq/R)

krq/R

]2

, (5.15)

donde al δ = kr sin θ, y el seno del ángulo puede aproximarse como q/R para ángulospequeños.

En la figura 5.11 se muestran los resultados de las simulaciones, donde se puedeapreciar que los valores numéricos son semejantes a las curvas analíticas. Para el casode las simulación de una apertura circular, se han obtenido el patron de irradianciaa lo largo de dos líneas perpendiculares entre sí, cuyo plano es paralelo a al plano dela apertura circular en campo lejano.

Page 190: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

158 CAPÍTULO 5. RESULTADOS

P

θ

R

r

x

z

q

Figura 5.10: Configuración del sistema para la simulación y análisis de difracción provocadopor una apertura

5.2. Filtros de capa delgada

En esta sección se van a mostrar los resultados obtenidos a partir del análisis deFCF. Estos tipo concreto de FCF se basan en obtener elevadas reflectancias a partirde la superposición de láminas de cuarto de onda que alternan índices de refracciónelevados y bajos. Esta configuración favorece a que todas las ondas reflejadas en cadauna de las interfases estén en fase cuando alcanzan el plano de salida, donde todascontribuyen de manera constructiva en el haz reflejado.

A partir de la expresión (2.123) desarrollada en la sección 2.4.1 se puede deducirde manera sencilla una expresión analítica de la admitancia óptica de una seriede capas de un cuarto de longitud de onda. Esto es posible debido a que la matrizcaracterística se puede simplificar de manera notable si la distancia óptica es múltiplode un cuarto de la longitud de onda.

δ = m (π/4) , m = 0, 1, 2, 3, . . . . (5.16)

Para m par, tenemos que cos δ = ±1 y sin δ = 0, por lo que el grosor de la capa esmúltiplo par de la semi longitud de onda y la matriz característica toma la siguiente

Page 191: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.2 Filtros de capa delgada 159

-8-4

04

8

-8-4

0

48

0

0.2

0.4

0.6

0.8

1

(a)

-14-7

07

14

-14

-7

0

7

14

0.2

0.4

0.6

0.8

1

(b)Fraunhofer

FDTD3D

I(θ)/

I(0)

(a.n

.)

I(θ)/

I(0)

(a.n

.)

0

β’/π β’/π α’/π α’/π

Figura 5.11: Patrón de difracción obtenido para la simulación aperturas circulares condiferentes radios comparado con las curvas teóricas en la región de Fraunhofer (λ = 633 nm,∆x = 63,3 nm). a) Curva teórica para apertura circular de radio 30∆x(1.9µm) y patrón deirradancia obtenido a partir del método de las DFDT en 3D. b) Curva teórica para aperturacircular de radio 45∆x(1.9µm) y patrón de irradiancia obtenido a partir del método de lasDFDT en 3D.

Page 192: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

160 CAPÍTULO 5. RESULTADOS

forma: [BC

]= ±

[1 00 1

]. (5.17)

Esta matriz es la matriz unidad y no tiene efecto alguno ni sobre la reflectanciani la transmitancia. Es decir, es como si la capa no existiese.

Para el caso de que m sea impar, sin δ = ±1 y cos δ = 0, ya que el grosor de lacapa es múltiplo impar de la semi longitud de onda. La matriz característica paraeste caso toma los siguientes valores:

[BC

]= ±

[0 1/ηjη 0

]. (5.18)

En este caso, el significado físico de esta capa no es tan evidente como el de laecuación (5.17), aunque la matriz sigue siendo fácilmente manipulable. Por ejemplo,si una combinación de capas delgadas presenta una admitancia Y , la adición de unacapa extra de longitud óptica un número impar de la semi longitud de onda y conadmitancia η modifica la admitancia global de la forma η2/Y . De manera análoga,la sucesión de capas de longitud de un cuarto de longitud de onda se puede calcularde forma sencilla como por ejemplo, se muestra a continuación para el caso de unabatería de 5 capas delgadas:

Y =η21η

23η

25

η22η

24ηs

, (5.19)

donde los símbolos se han definido en la sección 2.4. Debido a la simplificación obteni-da a partir de este razonamiento, el diseño de estos dispositivos se realiza en términosde capas de un cuarto de onda referidas a la longitud de onda en reflectancia. Habit-ualmente, se suelen utilizar dos tipos de materiales, como mucho tres, cuya notaciónes A, M y B para índices de refracción altos, medios y bajos respectivamente. Capasde mitad de onda se definen como AA, MM , LL o 2A, 2M y así sucesivamente.

La ecuación (5.19) puede generalizarse de la siguiente forma:

Y =(

nA

nB

)2p n2A

ns, (5.20)

donde 2p + 1 es el número de capas.

De manera sencilla se puede deducir la reflectancia en el vacío como:

R =

(1− (nA/nB)2p (nA/ns)1 + (nA/nB)2p (nA/ns)

)2

. (5.21)

Page 193: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.2 Filtros de capa delgada 161

Esta expresión nos permite deducir que a medida que el número de capas au-menta, también lo hace la reflectancia. La máxima reflectancia se obtiene para capasimpares que presenten la lámina con nA en el exterior. Si se da este caso, se cumpleque (nA/nB)2pn2

A/ns > 1, por lo que:

R ∼ 1− 4(

nB

nA

)2 ns

n2A

, (5.22)

y

T = 1−R ≤ 4(

nB

nA

)2 ns

n2A

, (5.23)

lo cual demuestra que cuando la reflectancia es alta, la adición de dos capas extras(de índices nA y nB) reduce la transmisión en un factor (nB/nA)2. Esta tendencia,y el comportamiento general de este tipo de dispositivos periódicos es muestra enla Figura 5.12, donde se comparan los resultados obtenidos a partir del MMC y delmétodo de las DFDT en dos dimensiones. En concreto se ha realizado un simulaciónbidimensional de estos sistemas con polarización TE.

En la Figura 5.12a, se muestra el comportamiento, en términos de reflectanciade una secuencia de tres láminas con índice de refracción alterno en función delparámetro λ0/λ, donde λ0 es la longitud de onda de sintonía de las capas dieléctricas,es decir, cada una de ellas, presenta un grosor óptico de λ0/4. El resto de gráficasmuestran la misma información para dispositivos con más capas. En la Tabla 5.4 serecogen los parámetros de la simulación utilizados para la simulación mediante elmétodo de las DFDT.

λ λ0 ∆ ∆t nf nc Nsteps

230 nm 460 nm 2,3 nm 3,83·10−9 ns 1024 1024 4096

Tabla 5.4: Parámetros de simulación del método de las DFDT.

La componente reflejada en estos dispositivos es elevada en una banda estrechacentrada en la longitud de onda de sintonía de las láminas de cuarto de onda. Estareflectancia cae de manera abrupta y presenta un comportamiento oscilante. La adi-ción de nuevas capas varía el ancho del lóbulo con alta reflectancia, la magnitud dela propia reflectancia así como el comportamiento oscilatorio fuera de dicha banda.Los resultados numéricos mediante el método de las DFDT y del MMC son muypróximos entre sí y demuestran la precisión del método numérico, el cual permiteobtener instantáneas del campo eléctrico en función del espacio y del tiempo.

En la Figura 5.13 se muestra el módulo del campo eléctrico en función de larelación λ0/λ para los casos representados en la Figura 5.12a, y 5.12c, que se corre-sponden con láminas de alta reflectancia con 3 y 7 capas respectivamente. Junto con

Page 194: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

162 CAPÍTULO 5. RESULTADOS

0 0,5 10

50

100

R(%

)n = 3

0 0,5 10

50

100

R(%

)

n = 5

0 0,5 10

50

100

R(%

)

n = 7

0 0,5 10

50

100R

(%)

n = 9

MMCDFDT

MMCDFDT

MMCDFDT

MMCDFDT

λ0/λ λ0/λ

λ0/λ λ0/λ

Figura 5.12: Reflectancia R para incidencia normal en capas de dieléctrico de longitudóptica λ0/4 y alternancia de índices de refracción alto (nA = 2,3) y bajo (nB = 1,38) ensusbstrato transparente (ns = 1,52) en función del parámetro λ0/λ.

cada representación del módulo del campo eléctrico se muestra el perfil del índicede refracción en función del eje x. Las líneas vertical discontinua ilustra el planode incidencia de la onda plana. En concreto, se ha variado el grosor de las capasdieléctricas, y con ello la longitud de onda de sintonía de las capas λ0. Tal y comose muestra en la Figura 5.13, se aprecia un aumento considerable de la reflectanciaa medida que la relación λ0/λ se acerca a 1, y con el aumento de capas en λ0/4. Elinstante de tiempo seleccionado en todos los casos ha sido aquel que ha aseguradola llegada al régimen estacionario.

Page 195: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.2 Filtros de capa delgada 163

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,2

0,4

0,6

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,2

0,4

0,6

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,20,40,60,8

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,2

0,4

0,6

0,8

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,2

0,4

0,6

1

2

3

n

0 1 20,5

1

1,5

2

y (µm)

x (µm

)

0,20,40,60,811,2

(a) (b)

(c) (d)

(f)(e)

Figura 5.13: En cada una de las gráficas se ilustra el módulo del campo eléctrico y arribael pérfil del índice de refracción, para láminas de alta reflectancia en función de la relaciónλ0/λ. En las gráficas (a), (c) y (e) se ilustra una lámina compuesta por tres capas paralos casos λ0/λ = 0,2, λ0/λ = 0,6 y λ0/λ = 1 respectivamente. En las gráficas (b), (d),(f) se muestra el caso para 7 capas para los casos λ0/λ = 0,2, λ0/λ = 0,6 y λ0/λ = 1respectivamente.

Page 196: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

164 CAPÍTULO 5. RESULTADOS

5.3. Redes de difracción holográficas de volumen

En esta sección se recogen los resultados relacionados con las RDH. En particularse han estudiado las redes de difracción holográficas en transmisión y en reflexión.La diferencia básica entre ellas reside básicamente en el ángulo de orientación de lasfranjas de interferencia que las definen. En ambos casos, los dispositivos han sidoanalizados mediante el método de las DFDT y las curvas obtenidas a partir de suanálisis han sido comparadas con las curvas teóricas esperadas. Estas curvas teóricasprovienen de la TROA para el caso de RDH en transmisión y del MM definido apartir de las funciones de Mathieu para las RDH en reflexión. Posteriormente, serealizará un breve análisis sobre el efecto de la discretización espacial tanto en elmétodo de las DFDT tanto como en el MMC.

5.3.1. Redes de difracción holográficas de transmisión

Las redes de difracción se registran generalmente en una emulsión fotográfica,en la cual se graban los patrones de interferencia de dos ondas. Dicho patrón deinterferencia modifica algunas de las propiedades ópticas del material, como puedeser el índice de difracción. En el caso de que se produzca variación o modulaciónsinusoidal del índice de refracción se hablan de redes holográficas de fase.

En una red de volumen en transmisión, la separación de los planos en los que laintensidad del registro es constante es mucho menor que el espesor de la emulsión.La red periódica registrada está formada por un conjunto de planos paralelos comolos que se esquematizan en la configuración de la red en 2D en la Figura 5.14. Enesta figura se muestran los valores de los índices de refracción, del periodo de redy de las longitudes de la red así como los ángulos involucrados en el análisis de lasredes de difracción de volumen.

Cabe mencionar que el modelado de este tipo de estructuras mediante el métodode las DFDT permite el análisis completo del problema, sin considerar las aproxima-ciones que necesita el método las ondas acopladas de Kogelnik. Los valores obtenidosa partir del método de las DFDT van a ser contrastados con las expresiones analíticasaproximadas de la TOA y la TROA.

El problema se ha modelado mediante el algoritmo de las DFDT para una lon-gitud de onda de 633 nm. A la hora de simular la red de difracción surgen diversosinconvenientes debidos a que la red debe de ser infinita en la dimensión del planode incidencia. En el modelado de problemas mediante las DFDT, se debe limitar la

Page 197: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 165

Plano de incidencia

Plano de salida de la red

Plano de observación

0,83 µm

12 µm

n0 = 1,63∆n = 0,025

θm

θm´

θ0

Figura 5.14: Esquema de los ángulos involucrados en una red de difracción de volumen.

malla a una región finita, por lo que el plano de incidencia de la red debe ser trunca-do. Otro problema reside en que la formulación de campo total y campo dispersadofue concebida para estudiar el comportamiento del campo reflejado por cualquier el-emento que se sitúa en el interior la región de campo total. En nuestro caso, tenemosel inconveniente que la red no está en el interior de la región de campo total sino quepasa a través de ella. En la Figura 5.15 se muestra un diagrama esquemático de lasimulación 2D (o una sección xy de una simulación 3D) de una red de difracción. Sepuede apreciar como surgen unos artefactos indeseados justo en la interfase entre elcampo total y campo dispersado situada en la red de difracción.

Para evitar el fenómeno de la difracción en bordes, se ha optado por truncarla región de campo total y campo dispersado. En concreto, en lugar de substraerla onda plana a la salida de la red, se ha eliminado una de las líneas donde seevalúan las connecting conditions para que la onda plana confinada en el interior dela zona de campo total salga por un único lado, la cual está enfrentada al plano deentrada de la red de difracción. De esta manera se evita que las connecting conditionssean evaluadas en el interior de la red a costa de que la onda plana que incide enla red pierde cierta plenitud. En la Figura 5.16 se ilustra una secuencia de unasimulación de una RDH en transmisión para diferentes pasos de tiempo. La red está

Page 198: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

166 CAPÍTULO 5. RESULTADOS

y (µm)

x (µm

)

0 2 4 6 8 10 12 14 16 18

0

5

10

15

20

25

30

Campo

dispersado

Red de difraccion

Campo

total

artefactos indeseados

PML

Campo total

Campo dispersado

m=0

m=1

Origen de

interferencias

por difracción

en bordes

y

PML

(a)

(b)

x

Figura 5.15: Esquema de la simulación de la red de difracción de volumen.

Page 199: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 167

definida como el medio II y presenta una dependencia sinusoidal en x. La líneadiscontinua ilustra el plano de entrada de la onda plana. Resaltar que en dichoplano la onda es generada y no es substraída en ningún plano a la salida de lared. Tal y como se aprecia en la secuencia, a medida que la onda plana profundizaen el medio periódico, se va generando un patrón del campo periódico tanto enel interior de la red como en el exterior de la red. En este caso, tanto el medioI como el III son el vacío (nI = nII = 1). Es interesante destacar la región deinterferencia entre los órdenes transmitidos y difractados a la salida de la red, en elmedio III. También se demuestra que los artefactos producidos por la evaluaciónde las connecting conditions han sido subsanados mediante la reformulación de laregión de CT-CD.

10 20 30

15

20

25

30

35

y (µm)

x (µm

)

(a)

0,5

1

1,5

10 20 30

15

20

25

30

35

y (µm)

x (µm

)(b)

0,5

1

1,5

2

10 20 30

15

20

25

30

35

y (µm)

x (µm

)

(c)

0,5

1

1,5

2

10 20 30

15

20

25

30

35

y (µm)

x (µm

)

(d)

0,5

1

1,5

2

2,5

I II III

I II III

I II III

I II III

Figura 5.16: Distribución del módulo del campo eléctrico en función del espacio para dife-rentes pasos temporales en una simulación de una red de difracción holográfica de transmisióncon parámetros d = 6µm, Λ = 0, 83µm, n0 = 1, 63, ∆n = 0,025, θI = 22,64o. ParámetrosFDTD: nf = 3196, nc = 2500, λ = 633 nm, ∆ = λ/40, ∆t = ∆/(2c0). (a) t = 2500 · ∆t.(b)t = 4000 ·∆t. (c) t = 5000 ·∆t. (d) t = 7500 ·∆t.

Page 200: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

168 CAPÍTULO 5. RESULTADOS

En la Figura 5.16d muestra como a la salida de la red, el orden difractado ytransmitido forman una región de interferencia espacial. En la Figura 5.17 se repre-senta el módulo del campo eléctrico (|Ez|) para una red de difracción de transmisiónsimilar a la mostrada en la secuencia de la Figura 5.16, sin embargo en este casose han aumentado las dimensiones de la malla a simular para identificar mejor losórdenes transmitido y difractado. Esta representación es un ejemplo cualitativo dela distribución del campo eléctrico en función de las regiones I, II y III, para estetipo de dispositivos.

0 10 20 30 4010

15

20

25

30

35

40

y (µm)

x (µm

)

0.5

1

1.5

2

2.5I II III

R

T

S

R’

Figura 5.17: Distribución del campo final para el mismo caso ilustrado en la Figura 5.16,donde se visualiza la zona central de interferencia entre el haz transmitido y el difractado.

En primera instancia, el discernir las amplitudes del orden difractado y trans-mitido requeriría simulaciones de elevadas dimensiones para poder ver de maneraaislada, cada uno de los órdenes a la salida de la red (tal y como se ha realizadopara obtener el campo en la Figura 5.17). Sin embargo, se puede calcular la dis-tribución de campo lejano para obtener la amplitud del orden difractado, evitandoaumentar el tamaño de simulación y en consecuencia el coste temporal del método.En puntos lo suficientemente alejados al plano de salida de red, es fácil identificar elorden transmitido y difractado de manera sencilla ya que no presentan solapamientoespacial.

Para ejemplificar dicho fenómeno se ilustra en la Figura 5.18 la irradiancia para

Page 201: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 169

diferentes grosores de red en un plano paralelo al de la salida de la red situado a 4000celdas. Si recurrimos a la expresión (2.23), la cual define el parámetro de modulaciónde red y recordamos que el máximo en difracción se obtiene para incidencia en Bragg(ν = π/2), podemos identificar en la Figura 5.18b como a medida que el parámetrode modulación se acerca más a π/2 la amplitud de orden difractado aumenta.

x (

mm

)

(a)

0,9 1 1,1 1,2

-0,1

-0,05

0

0,05

0,1

x (

mm

)

(b)

0,9 1 1,1 1,2

-0,1

0

0,1

Tiempo (ps)

x (

mm

)

(c)

0,9 1 1,1 1,2

-0,1

0

0,1

0,05

0,1

0,15

0,05

0,1

0,15

0,2

0,25

0,05

0,1

0,15

0,2

Figura 5.18: Distribución de la irradiancia ∝ |Ez|2 en campo lejano (y=4000∆y) calculadoa partir del campo a la salida de la red de difracción con n0 = 1.63, ∆n = 0,025, ∆ = 0,63nm. Simulación 3D. a) d = 2,25 µm y ν = 0,29. b)d = 12,3 µm y ν = 1,57 . c)d = 19,85 µm.y ν = 2,53.

Finalmente se puede realizar un análisis más detallado de la eficiencia de la reden función del espesor de la misma, tal y como se ilustra en las Figuras 5.19 y 5.20.En la Figura 5.19 se recogen las curvas de las eficiencias en difracción y transmisiónpara una red de difracción con modulación de índice ∆n de 0,025 mientras que en laFigura 5.20 se representa el mismo análisis para una modulación de índice de 0,015.En ambos casos, el período de red es de Λ = 0,83 µm o 1200 líneas por milímetro.Respecto a la configuración del método de las DFDT, en la Tabla 5.5 se resumen los

Page 202: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

170 CAPÍTULO 5. RESULTADOS

λ ∆ ∆t nf nc Nsteps

630 nm 63 nm 105 ·10−9 ns 1500 1000 5000

Tabla 5.5: Parámetros de simulación del método de las DFDT para redes de difracción portransmisión.

0 5 10 15 20 250

0,2

0,4

0,6

0,8

1

d (µm)

Efici

enci

a e

n d

ifra

cció

n (

a. n.)

0 5 10 15 20 250

0,2

0,4

0,6

0,8

1

d (µm)

Efici

enci

a e

n t

ransm

isió

n (

a. n.) TROA

DFDTTOA

TROA

DFDTTOA

(a) (b)

Figura 5.19: Análisis del oren difractado y transmitido para una RHV en transmisión con∆n=0.025. (a) Eficiencia en difracción (m = 1). b) Eficiencia en transmisión (m = 0).

parámetros escogidos.

En ambos casos se han comparado las curvas numéricas obtenidas mediante elmétodo de las DFDT mediante la TROA y la teoría de Kogelnik (TOA). Debido a laslimitaciones expuestas en el Capítulo 2, la TOA se muestra menos precisa a la horade modelar el comportamiento físico de estos dispositivos. Las múltiples reflexiones ylos órdenes superiores rompen el perfil sinusoidal presente en la TOA. Sin embargo,en todos los casos, el método de las DFDT proporciona unos valores satisfactorios ybastante precisos comparados con las curvas teóricas.

Por otro lado, también se ha estudiado la selectividad angular de este tipo deredes. Para ello, se ha escogido un valor para el grosor de la red (d=12.3 µm) parael cual se ha realizado un barrido angular centrado en ángulo de Bragg. Para el casode la red de difracción con modulación de índice n1 = 0,025, el máximo de las curvas

Page 203: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 171

0 5 10 15 20 250

0,2

0,4

0,6

0,8

1

d (µm)

Efici

enci

a e

n d

ifra

cció

n (

n. a.)

0 5 10 15 20 250

0,2

0,4

0,6

0,8

1

d (µm)

Efici

enci

a e

n t

ransm

isió

n (

n. a.)

(a) (b)

TROA

DFDTTOA

TROA

DFDTTOA

Figura 5.20: Análisis del oren difractado y transmitido para una RHV en transmisión con∆n=0.015. (a) Eficiencia en difracción (m = 1). b) Eficiencia en transmisión (m = 0).

(representadas en la figura 5.21a alcanza la unidad, ya que el grosor escogido juntocon dicha modulación de índice se obtenga el 100% de eficiencia (ν = π/2)). Porotro lado, el grosor escogido (d = 12.3 µm) para la red con modulación de índice den1=0.015, nunca alcanza eficiencias superiores al 75% ya que aunque se excite enángulo de Bragg, para esas condiciones, la eficiencia es de alrededor del 65%. Todosestos resultados, junto con las curvas teóricas se muestran en la figura 5.21.

5.3.2. Redes de difracción holográficas de reflexión

Las redes de difracción holográficas en transmisión presentan un ángulo de in-clinación de las franjas de interferencia igual a 90o. En la Figura 2.2 se ilustra elesquema y el diagrama vectorial de ambas redes, aunque se ha considerado conve-niente recordar la geometría del problema, por ello, en la Figura 5.22 se muestra laconfiguración de una red de difracción holográfica en reflexión. De manera similar alcaso de redes por transmisión, se va a recurrir a la versión bidimensional del métodode las DFDT y en particular se contemplará la polarización TE desarrollada en lasección 3.2. En la Figura 5.23 se muestra la adaptación del sistema a una simulacióncon el método de las DFDT. En dicha figura se representa el campo eléctrico pro-ducido por la interacción de una onda plana con una RDH en reflexión en función

Page 204: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

172 CAPÍTULO 5. RESULTADOS

10 15 20 25 30 350

0,2

0,4

0,6

0,8

1

10 15 20 25 30 350

0,2

0,4

0,6

0,8

1

TROA

TOA

DFDT-2D

DFDT-3D

θ(º)

θ(º)

ED-1

ED-1

TROA

TOA

DFDT-2D

DFDT-3D

(a)

(b)

Figura 5.21: Curvas de eficiencia angular en función del ángulo de incidencia (θ) para unared de difracción de volumen con ∆n=0.025,Λ =0.83 µm, λ=633 nm. a) Modulación deíndice ∆n = 0,025,ν = pi/2. b)∆n = 0,015,ν = 0,94.

Page 205: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 173

d

y

S

R

Λ

x

θI

θI

MedioI

nI

θIII

Medio III

nIIIT

Figura 5.22: Esquema ilustrativo de la configuración de una red de difracción holográficade reflexión

del espacio para un instante de tiempo en el cual se considera que la red ha entradoen estado estacionario. En dicha ilustración se pueden identificar las diferentes he-rramientas detalladas en el Capítulo 3, como pueden ser las CFA y la formulaciónde CT-CD.

Para este tipo de redes, se va a comprobar las deficiencias que presenta tantola TOA como la TROA debido a las razones mencionadas en la sección 2.1 y 2.2.En este punto se va a recurrir al método desarrollado a partir de las funciones deMathieu detallado en el punto 2.3. Este método salva los inconvenientes que sufrenlos métodos clásicos de resolución de medios periódicos debido a que la hipótesis departida no presenta incompatibilidades con medios no infinitamente periódicos.

En la Figura 5.24 se representa la selectividad angular del orden difractado parauna red de difracción de reflexión. Los medios I y III se corresponden con el vacío,por lo que nI = nIII = 1. Los parámetros de la simulación numérica se recopilan en laTabla 5.6. En este caso, se ha obviado el uso de la transformación de campo cercanoa lejano y se ha recurrido a las versiones optimizadas del código para simular mallasmás densas. Para reflexión, no existe el problema que existía en transmisión queconsistía en que el orden difractado y transmitido estaban solapados espacialmente.En este caso, un análisis en el plano de entrada a la red es suficiente para analizarla eficiencia en difracción.

Tal y como se puede identificar en las curvas mostradas en la Figura 5.24, lateoría de Kogelnik no proporciona resultados satisfactorios, mientras que la curvanumérica obtenida por el método de las DFDT es mucho más próximo a la curvaobtenida a partir del método MM. Por otro lado, este resultado también permitededucir, que aunque el análisis de este tipo de redes a priori parezca más sencillo que

Page 206: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

174 CAPÍTULO 5. RESULTADOS

y (µm)

-1,5

-1

-0,5

0

0,5

1

1,5

0 0,5 1 1,5 20

0,5

1

1,5

2

2,5

3x (µm

)RedCT-CDd

CFA

T

R

S

Figura 5.23: Representación del campo eléctrico para un paso temporal en el que se haalcanzado el estado estacionario.

20 30 40 50 60 70 75150

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

θ(º)

MathieuKogelnikDFDT

DE

-1

Λ = 0,22 µmλ = 632,1 nm

n0 = 1,63

∆n = 0,025d = 11,06 µm

nI = 1nIII = 1

Figura 5.24: Eficiencia en difracción en función del ángulo de incidencia. Comparativa entreel MM a partir de las funciones de Mathieu, la teoría de Kogelnik y el método numérico delas DFDT.

Page 207: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.3 Redes de difracción holográficas de volumen 175

λ ∆ ∆t nf nc Nsteps

633 nm 15,83 nm 26,38 · 10−9 ns 3072 1280 9000

Tabla 5.6: Parámetros de simulación del método de las DFDT para la red de difracción detransmisión analizada en la Figura 5.24.

el de las redes por transmisión, la morfología y la comparativa con curvas teóricas esmás compleja que las obtenidas para el caso de redes por transmisión.

De manera similar también se ha realizado un análisis comparativo de la precisióndel método de las DFDT en función de la resolución espacial. Del mismo modo,la Teoría del Medio Equivalente (TME) se ha aplicado a este tipo de problemas y hayque tener en cuenta que está sujeto a las mismas limitaciones en cuanto a resoluciónespacial se refiere. Cabe recordar que la TME se basa en aproximar mediante capasdieléctricas homogéneas el medio que se quiere estudiar. Para el caso de las RDH, elperfil sinusoidal de la red es muestreado y discretizado. Este fenómeno es analizadoen la Figura 5.27, donde se comparan tanto el método de las DFDT, como la TMEcon el MM basado en las funciones de Mathieu y la teoría de Kogelnik. El MM es lareferencia teórica ya que este método no es sensible a una discretización espacial.

Tal y como se muestra en las Figuras 5.27a y 5.27b, se puede identificar unadependencia tanto en el método de las DFDT como en la TME. En particular, enla Figura 5.27a, se muestran los resultados para el caso de 8 muestras por períodoespacial de red (Λ). En este caso, la similitud entre la curva numérica y teórica sonaceptables, aunque a medida que nos alejamos del ángulo de Bragg se aprecia undesplazamiento o desfase de los nulos en las curvas del método de las DFDT y en elde la TME. En la Figura 5.27b, se muestran las mismas curvas pero particularizadaspara el caso de considerar 16 muestras por período espacial. Tal y como se puedeidentificar, la similitud entre las respuestas teóricas del MM y de las numéricas apartir de la TME y de las DFDT se ha visto mejorado notablemente a costa deaumentar de manera considerable la malla a simular.

A la vista de estos resultados se puede interpretar que parte de las diferenciasentre la curva numérica obtenida por el método de las DFDT y el MM se basanen la discretización espacial inherente al método de diferencias finitas. El uso demétodo numéricos basados en la discretización del espacio de simulación implicanacotar el plano de incidencia de la onda plana, lo cual discrepa de las hipótesisde los métodos de análisis convencionales de este tipo de dispositivos. El MM, aligual que la TROA consideran que la red es un medio infinito en la dimensión delplano de incidencia, mientras que el método numérico basado en las DFDT no puedeasumir dicha condición. Por otro lado, también existe una discretización en el propio

Page 208: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

176 CAPÍTULO 5. RESULTADOS

20 30 40 50 60 70 75150

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

θ (º)

DE

-1

KogelnikMathieu

DFDTMME

(a)

20 30 40 50 60 70 75150

0.1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

θ (º)

DE

-1

KogelnikMathieu

DFDTMME

(b)

Figura 5.25: Análisis de la eficiencia angular en función de la resolución espacial en losmétodos de las DFDT y de la matriz efectiva. En ambas gráficas las curvas del MM y deKogelnik son las mismas. (a) Curvas de FDTD y de MME para 8 muestras por Λ. (b) Curvasde FDTD y de MME para 16 muestras por Λ.

Page 209: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.4 Optimización computacional 177

medio periódico, que tal y como se ha identificado en el método de las DFDT y enla TME afecta de una manera muy concreta en el análisis de la reflectancia en estosdispositivos. Estas razones, son las que principalmente condicionan la precisión delmétodo. Sin embargo, cabe destacar que los resultados obtenidos tanto para las redesde difracción en transmisión y en reflexión son bastante aproximadas a las teóricasexactas.

Siguiendo con el análisis de redes de difracción holográficas en reflexión, se harealizado un análisis de una configuración alternativa, pero en este caso modificandoel medio III con un substrato en lugar del vacío. Los parámetros tanto de la red asimular como del método de las DFDT se muestran en la Tabla 5.7. A partir de estosdatos, se han realizado diversas simulaciones para analizar la selectividad angulary en longitud de onda, del orden 0 y del orden -1, los cuales se corresponden conel difractado y el transmitido respectivamente. En la Figura 5.26 se representa laeficiencia de ambos órdenes en función del ángulo de incidencia (en el medio I) paraambos órdenes. Los resultados mostrados en este caso se corresponden con el métodonumérico de las DFDT y el MM. Al igual que para casos anteriores, la tendencia enambas curvas es muy similar validando la aproximación numérica.

Λ λ d n0 ∆n nI nIII ∆ nf nc Nsteps

0,22 632,1 11,06µm 1,63 0,055 1 1,63 λ/40 3072 1280 9000

Tabla 5.7: Parámetros de simulación del método de las DFDT para redes de difracción porreflexión.

A la vista de los resultados obtenidos del estudio de la selectividad angular yde la reflectancia y la transmitancia en función de la longitud de onda, se puedeafirmar que los resultados numéricos obtenidos con el método de las DFDT siguensiendo robustos comparados con el MM. También se ha comprobado que al cambiarel medio III por un substrato transparente, los lóbulos presentes fuera de la regiónde Bragg se atenúan considerablemente, suavizando las oscilaciones de las curvas dela reflectancia y la transmitancia.

5.4. Optimización computacional

En esta sección se van a presentar los resultados obtenidos del análisis del rendimien-to de las diferentes versiones del algoritmo de las DFDT. En concreto se disponende tres versiones del algoritmo:

Page 210: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

178 CAPÍTULO 5. RESULTADOS

20 30 40 50 60 700

0,2

0,4

0,6

0,8

1

θΙ (º)

DE0

(a)

20 30 40 50 60 700

0,2

0,4

0,6

0,8

1

θΙ (º)

DE

-1

(b)

MMFDTD

MMFDTD

Figura 5.26: Comparativa entre los resultados numéricos obtenidos mediante el método delas DFDT y el MM, los parámetros de simulación se recogen en la Tabla 5.7. (a) Reflectan-cia en función ángulo de incidencia de la red. (b) Transmitancia en función del ángulo deincidencia.

Page 211: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.4 Optimización computacional 179

650 700 750 800 850 9000

0.2

0.4

0.6

0.8

1

λ (nm)

Efici

enci

a (

a.n

)DE-1 MM

DE-1 DFDT

DE0 MM

DE0 DFDT

Figura 5.27: Transmitancia y reflectancia en función de la longitud de onda. Parámetrosde la simulación recogidos en la Tabla 5.7.

Versión 1: Simulación básica del método de las DFDT en dos dimensiones,cuya excitación se realiza mediante una fuente puntual.

Versión 2: Se corresponde con la versión 1 presentada con la adición de las CFA,en concreto se han implementado las PMLs desarrolladas en el punto 3.2.2.

Versión 3: Simulación completa del método de las DFDT para el análisis deelementos complejos, la cual incluye las PMLs y la formulación de CT-CDintroducida en la sección 3.2.4.

El rendimiento de estas tres versiones se ha analizado en función de la opti-mización realizada, así como del hardware encargado de computar el método. Enconcreto se disponen de tres códigos para las tres versiones anteriores:

Código secuencial: Implementación secuencial del método con la incorporacióndel la directiva de compilación -O3, la cual vectoriza automáticamente el códi-go secuencial con el uso de instrucciones SSE en el microprocesador. Esteimplementación se identificará a partir del término “secuencial”.

Código paralelo: Implementación implícita de las instrucciones vectoriales SSEy uso de múltiples procesos con directivas OpenMP. Esta versión se espera queobtenga el máximo rendimiento de las UPC de los computadores modernosya que explota el paralelismo a nivel de instrucción y a nivel de procesos,mediante el uso de varios hilos sobre diferentes núcleos en el microprocesador.Esta implementación se identificará a partir del término “SSE+OpenMP”.

Page 212: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

180 CAPÍTULO 5. RESULTADOS

TSec(sin -O3) TSec(con -O3) TSSE+OpenMP TCUDA

465.39 s 158.71 s 50.93 s 7.8 s

Tabla 5.8: Tiempos de simulación para la versión 3 del método de las DFDT para una mallade 2560×2560 para la versión secuencial, la versión SSE+OpenMP y la versión CUDA.

Código UPG: En este caso el procesado se realiza en las UPG y explota elparalelismo de manera exhaustiva debido al gran número de núcleos presentesen las UPG. Esta implementación del código se identificará como la versiónCUDA.

Cabe destacar, que en este trabajo el código secuencial puede ser considerado unaversión mejorada respecto a un código secuencial estándar, ya que se ha realizadoteniendo en cuenta los mecanismos utilizados por el compilador para la vectorizaciónautomática. El rendimiento obtenido por esta vectorización es muy sensible a maloshábitos de programación e inclusive en algunas ocasiones puede provocar resultadosinesperados debido a una incorrecta programación, la cual es dificil de identificar parala versión secuencial convencional. En el caso que nos ocupa, la versión secuencial seha implementado de una manera eficiente, proporcionado una mejora considerablemediante técnicas de vectorización automática basadas en la etapa de compilación.En consecuencia se demuestra que uno de los primeros pasos a la hora de optimizaruna aplicación es invertir un tiempo en depurar el código secuencial, el cual puedeproporcionar buenos rendimientos si se tienen en cuenta características como el accesocontiguo a memoria, proximidad espacial de los datos, etcétera.

Esta idea se plasma en la Tabla 5.8, donde se ilustra el tiempo invertido porcada una de las implementación de la versión 3 del método incluyendo la versión sinvectorización automática. Como puede verse a partir de los datos proporcionados,la vectroización automática proporciona una reducción del tiempo de simulacióncercana a tres, lo cual demuestra la importancia de que el código secuencial presentecaracterísticas favorables para la esta vectorización.

Sin embargo, el ratio de mejora introducido por el uso implícito de las instruc-ciones SSE es mayor tal y como se muestra en la Tabla 4.3 y la Tabla 5.8.

La aplicación de este método a mallas de elevadas dimensiones y a longitudes deonda cortas implica un aumento de los requisitos computacionales del método. Porello, la mejora obtenida por la autovectorización no es suficiente en la mayoría de loscasos. A continuación se muestran los resultados obtenidos a partir de las diferentesimplementaciones en función del tamaño de simulación.

Page 213: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.4 Optimización computacional 181

0,5 1 1,5 2 2,5

0,5

1

1,5

2

2,5

nc x 1000

nf x 1000

(c)

50

100

150

0,5 1 1,5 2 2,5

0,5

1

1,5

2

2,5

nc x 1000

nf x 1000

(e)

2

4

6

8

0,5 1 1,5 2 2,5

0.5

1

1,5

2

2,5

nc x 1000

nf x 1000

(a)

100

200

300

nf x 1000

0,5 1 1,5 2 2,5

0,5

1

1,5

2

2,5

nc x 1000

(f)

2

4

6

0,5 1 1,5 2 2,5

0,5

1

1,5

2

2,5

nc x 1000

nf x 1000

(b)

50

100

150

0,5 1 1,5 2 2,5

0,5

1

1,5

2

2,5

nc x 1000

nf x 1000

(d)

20

40

60

Figura 5.28: Representación del tiempo de ejecución de la versión 1 del método de lasDFDT para las diferentes implementaciones y estaciones de trabajo. El grupo de figuras(a), (c) y (e) se corresponden con las versiones secuencial, SSE+OpenMP y CUDA respec-tivamente para Bell. El grupo de figuras (b), (d) y (f) se corresponden con las versionessecuencial, SSE+OpenMP y CUDA respectivamente para Clerk. Para más información so-bre cada una de las estaciones ver Tabla 4.2.

Page 214: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

182 CAPÍTULO 5. RESULTADOS

Si analizamos en detalle los costes temporales para una de las estaciones decómputo (Bell y Clerk), por ejemplo para la estación Clerk (gráficas (b), (d) y (f) dela Figura 5.28), podemos ver como el tiempo de simulación aumenta a medida quelo hacen las longitudes en x e y de la malla. Cabe destacar que el coste del métodode las DFDT es exponencial ya que el método se basa en sendos bucles que recorrende manera ordenada cada una de las dimensiones de la malla. Este comportamientoes común a todas las plataformas de calculo.

Un parámetro básico en el análisis del rendimiento de códigos secuenciales yparalelos es el de SpeedUp, definido en la ecuación (4.2), el cual indica el ratio demejora de una versión paralela sobre una versión secuencial en términos temporales.Dado que tanto Bell como Clerk presentan comportamientos similares (debido a sussimilitudes hardware), a partir de este punto se va a analizar con profundidad elrendimiento obtenido por Clerk ya que es la que presenta un mayor rendimientoenla UPC, y es la que puede proporcionar valores más conservadores sobre el ratiode mejora entre el uso de UPG frente a UPC. En la Figura 5.29a se muestra el

1 2 3

1

2

3

nf x 1000

nf x 1000

(c)

2

4

6

8

1 2 3

1

2

3

nc x 1000

nf x 1000

(a)

2

4

6

8

10

nc x 10001 2 3

1

2

3

nf x 1000

(b)

10

20

30

40

Figura 5.29: (a) SpeedUp para la versión SSE+OpenMP en Clerk y para la versión 2 delmétodo de las DFDT. (b) SpeedUp para la versión CUDA en la Clerk y para la versión 2 delmétodo de las DFDT. (c) Cociente entre los tiempos de la versión SSE+OpenMP y CUDApara la Clerk y la versión 2 del método de las DFDT.

Page 215: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.4 Optimización computacional 183

SpeedUp de la versión SSE+OpenMP, mientras que en la Figura 5.29b se muestrael SpeedUp para la implementación en CUDA. Respecto a la implementación opti-mizada en la UPC (Figura 5.29a, se identifica una región en la cual el rendimientode esta versión alcanza valores máximos de hasta 10 comparados con la versión se-cuencial vectorizada automáticamente. El descenso del rendimiento a medida que lasfilas y las columnas aumentan es debido principalmente a que la caché del micro-procesador no puede almacenar todos los datos necesarios para procesar el problema.Este hecho desemboca en sucesivos fallos de página y que en definitiva la tendenciadel SpeedUp converja a cerca de 4, el cual se corresponde con el número de núcleosen este dispositivo. La tendencia mostrada en la Figura 5.29a y 5.29b mediante unalínea blanca continua delimita la región en la cual el tamaño de simulación excedelos límites de la memoria caché del microprocesador. Esta curva se obtiene a travésde la predicción aproximada de la memoria necesaria para una simulación de nf filasy nc columnas, la cual se puede obtener como nf × nc × 4× 7, donde el multiplicarpor 4 es debido al número de bytes necesarios para representar un número de comaflotante en precisión simple y por 7 debido a que en el método utiliza 7 matrices pararealizar los cálculos: Dz,Ez,Hx,Hy junto a dos matrices auxiliares que computanla integral necesaria para las Capas de Adaptación Perfecta (CAP) y una extra quealmacena las características físicas del medio.

Por otro lado, en la Figura 5.29b se representa el SpeedUp para el caso de laimplementación CUDA. En este caso el SpeedUp muestra un perfil mucho más ho-mogéneo y constante. En concreto, se consigue reducir el tiempo de cálculo hasta 40veces comparado con los tiempos requeridos para la versión secuencial vectorizadaautomáticamente.

Sin embargo, si comparamos las dos plataformas hardware de Clerk, es de-cir, UPG frente a UPC se obtienen unos ratios de mejora mucho más reducidos,tal y como se ilustra en la Figura 5.29c. En este caso, se puede identificar una región,en la cual, el uso de UPG reduce en poco más de la mitad el tiempo respecto ala versión SSE+OpenMP en la UPC. Por el contrario, a medida que el tamaño desimulación aumenta, la UPG se muestra más competitiva reduciendo el tiempo decálculo hasta en 8 unidades respecto a la versión SSE+OpenMP.

Respecto a la simulación que contempla todos los formalismos necesarios para lasimulación de dispositivos ópticos difractivos (versión 3) se presentan las siguientesgráficas, las cuales se corresponden con el SpeedUp en función del número de colum-nas para diferentes números de filas. Tal y como se aprecia en la Figura 5.30a, amedida que el número de columnas crece la versión SSE+OpenMP tiende a ser cu-atro veces más rápida que la versión secuencial. Para el caso concreto de nf = 256,se obtiene un máximo en el SpeedUp alrededor de nc = 1000. Si realizamos cálculossencillos del tamaño de memoria que se está utilizando en en la simulación, podemos

Page 216: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

184 CAPÍTULO 5. RESULTADOS

1 2 3 4 5 6 6,32

4

6

8

10

nc x 1000

Spee

dU

p(a)

nf = 256 celdasnf = 512 celdasnf = 1536 celdasnf = 2560 celdas

0,09

0

10

20

30

nc x 1000

Spee

dU

p

(b)

nf = 256 celdasnf = 512 celdasnf = 1536 celdasnf = 2560 celdas

1 2 3 4 5 6 6,30,09

0

2

4

6

8(c)

nf = 256 celdasnf = 512 celdasnf = 1536 celdasnf = 2560 celdas

nc x 10001 2 3 4 5 6 6,30,09T

SSE

+O

pen

MP/T

GP

U

Figura 5.30: Comparativa entre tiempos de proceso de la versión 3 del método de lasDFDT en la estación 2: (a) SpeedUp para la versión SSE+OpenMP. (b) SpeedUp para laversión CUDA. (c) Cociente entre los tiempos de la versión SSE+OpenMP y CUDA.

llegar a obtener aproximadamente 7 MB de memoria. El valor de 7 MB es próxi-mo a la caché de nivel 2 disponible en el procesador i7 disponible en Clerk. Por loque se puede comprobar que a medida que el tamaño de simulación excede la cachédisponible en el microprocesador, el rendimiento del método se reduce de maneradrástica. Este razonamiento es extendible al resto de casos en la Figura 5.30, porello, a medida que el número de filas aumenta, la región donde el microprocesadorproporciona mayor SpeedUp se estrecha en la dimensión de las columnas.

En la Figura 5.30b se muestra el mismo análisis anteriormente realizado para laversión SSE+OpenMP del microprocesador pero para el caso de la implementaciónCUDA sobre UPG. En este caso, el SpeedUp se muestra mucho más homogéneo enfunción de las columnas utilizadas en la simulación al igual que para las versiones 1y 2 del método DFDT implementadas en CUDA.

Page 217: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

5.4 Optimización computacional 185

En la Figura 5.30c se compara la mejora introducida en la implementación CUDArespecto a la optimizada en la UPC, es decir la SSE+OpenMP. Tal y como se hamencionado anteriormente, para simulaciones de tamaño reducido, es decir, aquellasdimensiones que pueden ser almacenadas completamente en la caché de nivel 2 delmicroprocesador, el ratio de mejora obtenido por la UPG es únicamente de dos.Sin embargo, a medida que el tamaño de simulación aumenta, los fallos de páginaen el microprocesador reducen las prestaciones de la versión SSE+OpenMP y laversión CUDA predomina como una alternativa mucho más competitiva. Tambiéncabe destacar, que para tamaños de simulación pequeños, la versión CUDA presentaun detrimento en el rendimiento frente a las versiones secuenciales debido a que losrecursos de la UPG están siendo infrautilizados. Tal y como se ha detallado en elapartado 4.2.3, en ocasiones, el gestor de hilos de la UPG realiza cambios de contextoo debe de esperar a que algunos grupos de hilos estén listos para operar. Estos estadosrepercuten en el rendimiento global del sistema y son enmascarados en aplicacionescon un alto porcentaje de ocupación debido a que el gestor se encarga de proporcionarhilos preparados para ser procesados a los multiprocesadores. Cuando el número dehilos totales se reduce, estas latencias son más difíciles de solventar por el gestor dela UPG y por lo tanto, el rendimiento global de la aplicación se reduce de manerasignificativa.

En la Figura 5.31 se ilustra el rendimiento en GFlops por segundo para la ver-sión completa del método de las DFDT para ambas estaciones, así como para lasdos implementaciones optmizadas en la UPC y en la UPG. En las Figuras 5.31a y bse representa el rendimiento en función del tamaño de la simulación para el caso delos microprocesadores IntelTM Quad-Core Q6600 e IntelTM i7-950 respectivamente.La tendencia es proporcional al SpeedUp, ya que el número de operaciones en comaflotante es proporcional a las dimensiones de la malla, al igual que el coste tem-poral. Análogamente, al estudio del SpeedUp, se identifica una región en la cual elrendimiento es mayor ya que toda la simulación puede ser almacenada en el interiorde la caché. Al igual que para el análisis del SpeedUp, la curva blanca delimita eltamaño de la malla que excede el tamaño de caché en una simulación completa endos dimensiones y con polarización TE. Para el caso del microprocesador Q6600,el rendimiento se reduce antes de lo esperado debido a la propia arquitectura delmicroprocesador, ya que presenta dos cachés de nivel 2 de 4 MB intercomunicadas.Debido a que físicamente no están juntas, como en el caso del i7-950, el rendimientofinal es ligeramente menor producido por las comunicaciones entre ambas cachés.En las Figuras 5.31b y c se muestra el rendimiento para ambas UPG, la GeForceGTX-460 y 470 respectivamente. En ambas el patrón es prácticamente idéntico sal-vo un factor de escalado, el cual puede ser debido principalmente a la diferencia enel número de multiprocesadores (mayor en la 470), junto con la velocidad del relojdel sistema, también superior en la 470. Para el caso de la Figura 5.31 se consiguenrendimientos cercanos a los 40 GFlops, los cuales son del orden a los obtenidos por

Page 218: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

186 CAPÍTULO 5. RESULTADOS

otros investigadores en trabajos recientes, como Kim et al en su trabajo recien-temente publicado [4], cuyos resultados, en términos de GFlops/s son ligeramentesuperados en este trabajo.

1 2 3

0,5

1

1,5

2

2,5

3

nc x 1000

nf

x 1000

(a)

2

3

4

5

6

1 2 3

0,5

1

1,5

2

2,5

3

nc x 1000

nf

x 1000

(b)

5

10

15

20

25

30

1 2 3

0,5

1

1,5

2

2,5

3

nc x 1000

nf

x 1000

(c)

6

8

10

12

14

1 2 3

0,5

1

1,5

2

2,5

3

nc x 1000

nf

x 1000

(d)

10

20

30

40

Figura 5.31: Rendimiento en Gflops/s para la versión 3 del método de las DFDT: (a)SSE+OpenMP en la estación 1. (b) SSE+OpenMP en la estación 2. (c) CUDA en la estación1. (d) CUDA en la estación 2.

Page 219: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Bibliografía

[1] E. Hecht. Óptica. Pearson: Addison Wesley, 2003.

[2] J. C. Maxwell. A Dynamical Theory of the Electromagnetic Field. PhilosophicalTransactions of the Royal Society of London, 155:459–512, dec 1865.

[3] S. A Rueda, F. F Medina, y J. F Barrera. Criterio generalizado para la distinciónentre la difracción de fraunhofer y fresnel. Revista Colombiana de Física, 41(1):128–130, Enero 2009.

[4] K-H. Kim, K. Kim, y Q-H. Park. Performance analysis and optimization ofthree-dimensional fdtd on gpu using roofline model. Computer Physics Commu-nications, 182(6):1201–1207, 2011.

Page 220: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

188 BIBLIOGRAFÍA

Page 221: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Capítulo 6

Conclusiones

Hay una fuerza motriz más poderosaque el vapor, la electricidad y

la energía atómica: la voluntad.Albert Einstein

A continuación se van a enumerar las principales conclusiones obtenidas a partirde los resultados obtenidos:

Se han aplicado una serie de métodos numéricos para el análisis electromag-nético de dispositivos periódicos en longitudes de onda ópticas. En concreto sehan analizado redes de difracción holográficas de volumen y medios estratifi-cados basados en capas delgadas.

Se ha recurrido al método de las DFDT para el análisis electromagnético enfunción del tiempo y del espacio. Este método se ha implementado en su to-talidad y en sus versiones unidimensional, bidimensional y tridimensional. Delmismo modo se han incluido diferentes formalismos que han permitido la simu-lación de dispositivos ópticos complejos como son las condiciones absorbentesde frontera, la incorporación de medios dieléctricos, la transformación de cam-po cercano a campo lejano, y la incorporación del campo total y campo dis-persado permitiendo la simulación de ondas planas.

El método de las DFDT se ha aplicado inicialmente a redes de difracción deapertura obteniendo los patrones de interferencia en las regiones de Fresnel yFraunhofer. Las irradiancias en campo lejano se han calculado a través de la

Page 222: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

190 CAPÍTULO 6. CONCLUSIONES

propagación del campo próximo, por lo que la comparativa entre los patronesde interferencia calculados a través del método numérico y los calculados através de expresiones analíticas ha permitido validar la implementación delmétodo de las DFDT en su totalidad y comprobar la rigurosidad de los esque-mas bi y tridimensional implementados.

Se han utilizado formalismos clásicas como la Teoría de Ondas Acopladas(TOA) de Kogelnik y la Teoría Rigurosa de Ondas Acopladas (TROA) de-sarrollada por Moharam y Gaylord para el análisis teórico de las redes dedifracción holográficas de volumen. Los rendimientos en difracción obtenidosa partir del análisis de estas teorías han permitido validar la aplicación delmétodo de las DFDT a este tipo de medios. De manera similar, se ha recur-rido al formalismo teórico basado en el Método de la Matriz Característica(MMC) de un medio dieléctrico homogéneo pera el análisis de una sucesión decapas dieléctricas homogéneas, las cuales conforman los filtros de capa delgada.En particular, se ha utilizado esta teoría para contrastar los valores obtenidosmediante el método de las DFDT del estudio de láminas de alta reflectancia,cuyos resultados han mostrado ser consistentes con los teóricos.

El análisis de RDH en transmisión mediante el método de las DFDT ha pro-porcionado información útil relacionada con la distribución instantánea delcampo electromagnético en función del espacio y del tiempo. Esta informaciónha permitido obtener la distribución del campo lejano y por lo tanto las irradi-ancias de los ordenes transmitidos y difractados. Dichas magnitudes han sidocalculadas mediante el método numérico y comparadas con las curvas teóri-cas calculadas a partir de la TOA y de la TROA. Los resultados obtenidosa partir de estas teorías han permitido corroborar la rigurosidad del métodode las DFDT, ya que proporciona resultados cercanos a la TROA, al mismotiempo que ilustra las deficiencias de la teoría de Kogelnik.

Se han comprobado las deficiencias de la TOA y de la TROA en el análisisde RDH en reflexión. Por ello, se ha desarrollado un método matricial a partirde la ecuación de Mathieu, el cual no presenta las limitaciones de los métodosanteriores. Este formalismo ha permitido comparar los resultados obtenidosmediante el método de las DFDT con curvas teóricas obteniendo resultadossatisfactorios.

Se ha estudiado el efecto de la discretización espacial en el método de las DFDT,identificado un desplazamiento de los lóbulos en el análisis de la eficiencia an-gular en función de este parámetro y por lo tanto del número de muestrasque definen el perfil sinusoidal en una red de difracción. Esta afirmación hasido obtenida a partir del análisis conjunto del método de las DFDT y de laaplicación del MMC a medios periódicos continuos. En ambos casos, la dis-

Page 223: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

191

cretización espacial ha ocasionado el mismo comportamiento, lo cual relacionadirectamente este fenómeno con la resolución espacial. Sin embargo, en to-dos los casos, el desplazamiento de los lóbulos disminuye a medida que nosacercamos a la región de Bragg, por lo que se puede afirmar, que el análsisen Bragg de estos dispositivos está libre en cierta medida de este tipo de er-rores. La resolución espacial y temporal disminuye en todos los casos el errorproducido por la discretización, lo cual repercute en un aumento de los requi-sitos temporales y computacionales del método. Otros factores que afectan ala precisión del método se basan en que el análisis clásico de este tipo de dispo-sitivos, considera infinito el plano de incidencia. Sin embargo, en el método delas DFDT es necesaria una discretización física del medio y por lo tanto unaacotación de la región de simulación, que junto a la reducción en la planitudde la onda incidente constituyen las principales fuentes de error introducidaspor el método.

Se han introducido diversas estrategias de optimización en el método de lasDFDT en su versión bidimensional. Estas estrategias se han basado en opti-mizar la implementación del código secuencial del método tanto en las UPCdisponibles en los microprocesadores comercializados en la actualidad, comoen las UPG existentes en las tarjetas gráficas instaladas en los computadores.

Para el caso de la optimización introducida en la versión del código para elmicroprocesador, se ha optado por explotar sus recursos mediante el uso ex-haustivo de operadores vectoriales y de paralelismo. Para el primer caso, seha recurrido al conjunto de instrucciones vectoriales SSE presentes en los mi-croprocesadores IntelTM . Estas instrucciones han mejorado las prestaciones delmétodo de las DFDT permitiendo el cálculo del campo electromagnético deforma vectorial. Respecto al paralelismo, se han aplicado directivas OpenMPque generen múltiples procesos y de esta manera utilizar todos los núcleospresentes en los microprocesadores actuales. Esta optimización ha permitidoreducir los tiempos de cálculo hasta 10 veces respecto a la versión secuencialvectorizada de manera automática.

Respecto a la implementación del método en las UPG, concluir que ha sidonecesario familiarizarse con la arquitectura de las UPG para poder implemen-tar con éxito el método numérico en esta plataforma hardware. El métodonumérico se ha implementado satifactoriamente en estos dispositivos, obte-niendo ratios de mejora en términos de tiempo de simulación de hasta 40veces respecto a la versión secuencial y de hasta 10 veces respecto a la ver-sión optimizada en la UPC. El rendimiento obtenido por las UPG en términosde instrucciones en coma flotante por segundo (GFlops) presenta un com-portamiento más homogéneo y constante en función del tamaño de simulación

Page 224: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

192 CAPÍTULO 6. CONCLUSIONES

comparado con el de las UPC, y son ligeramente superiores a trabajos recientesen este campo.

El rendimiento de ambas plataformas optimizadas se ha analizado en funcióndel tamaño de la malla en el método de las DFDT. Se ha identificado unaregión en la cual, la versión optimizada de la UPC presenta máximos en tér-minos de SpeedUp y de rendimiento (GFlops), la cual está limitada al tamañode la memoria caché. En esta región, la comparativa de esta versión respectoa la versión en las UPG muestra que la alternativa del uso del microproce-sador como herramienta de cálculo, sigue siendo competitiva frente a a lospotentes procesadores gráficos, los cuales son poco más del doble de rápidos.Sin embargo, la computación basada en UPG es esencial en aplicaciones dealto rendimiento, donde los tamaños de la malla y la envergadura del proble-ma son demasiado grandes como para procesarlos eficientemente por las UPCdisponibles en los microprocesadores actuales.

Debido a que el método de las DFDT es un algoritmo con un intensidad com-putacional baja, el rendimiento en las UPG está limitado por el ancho de bandaentre la memoria global del sistema y la UPG. Por lo tanto, estrategias en lareducción de accesos a memoria deberían de ser estudiados si se desea mejorarel rendimiento en este tipo de aplicaciones. En la versión implementada, se harecurrido al uso de la caché disponible en la familia de procesadores gráficosFermiTM , la cual ha mejorado de manera notable las prestaciones del méto-do. Lo que permite afirmar, que el rendimiento potencialmente obtenible poresta tecnología es muy sensible al tipo de aplicación, por lo que es necesarioun análisis previo que permita justificar el tiempo de desarrollo que necesi-ta esta plataforma. Aunque las nuevas arquitecturas de procesadores gráficospresentan facilidades para la incorporación de método numéricos, la curva deaprendizaje en este tipo de dispositivos sigue siendo bastante abrupta en susprimeras fases.

Finalmente, el estudio realizado pone de manifiesto que el método de las DFDTes una buena alternativa para el análisis de medios difractivos de tipo periódico:redes de difracción, láminas de capa delgada e inclusive redes de difracción deaperturas. Además se ha demostrado que el método puede ser optimizadoen términos de ejecución tanto en los microprocesadores actuales como enplataformas más novedosas como pueden ser las unidades de procesado gráfico,reduciendo los tiempos hasta en 40 veces, convirtiendo este método numéricoen una alternativa más que competitiva frente a teorías clásicas u otros métodosnuméricos como pueden ser el MEF o MoM.

Page 225: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes

Reunido el Tribunal que suscribe en el día de la fecha acordó otorgar, por ala Tesis Doctoral de Don/Dña. la calificación de .Alicante de de .

El Secretario,

El Presidente,

UNIVERSIDAD DE ALICANTECEDIP

La presente Tesis de D. ha sido registrada con el no

del registro de entrada correspondiente.

Alicante de de .

El Encargado del Registro,

Page 226: IMPLEMENTACIÓN DE MÉTODOS NUMÉRICOS … · tesis doctoral implementaciÓn de mÉtodos numÉricos para el anÁlisis electromagnÉtico de medios periÓdicos: aplicaciÓn en longitudes