Como se ha visto anteriormente en el programa de ejemplo, la estructura de un programa en Meep debe seguir ciertas reglas y construirse de manera tal que Meep entienda lo que se quiere simular, los pasos a seguir para la estructura básica de un programa en Meep son los siguientes:
- Inicializar la función de MPI, esto se tendrá que hacer aunque no se este planeado paralelizar
- Crear un Volume
- Crear una Estructura utilizando el Volume creado
- Agregar Fields utilizando la estructura creada
- Agregar Fuentes, Flujos y Detectores
- Correr la simulación
Conceptos Fundamentales
Volume: El objeto Volume es un área tipo cuadrada en donde toda la simulación ocurrirá, existen dos tipos de Volumen, el Grid_Volume y en Volume la diferencia es que el Grid_Volume es un área de pixeles en donde se almacena la resolución, la cantidad de pixeles, el origen y el Volumen relacionado.
Structure: El objeto Structure contiene información estructural de la simulación como los valores dieléctricos en puntos específicos o información sobre la polarización, la estructura debe conocer ciertos valores como la resolución de la malla a utilizar etc.
Fields: Básicamente el objeto Fields es el que se encarga de la mayoría del trabajo y en donde toda la animación se desarrolla, también es el encargado de generar todos los datos pertenecientes a la simulación.
Fuentes: Existen diversas definiciones para las fuentes, entre ellas figuran la fuente gaussiana, la fuente continua y la fuente puntual, generalmente las fuentes se utilizan utilizando el objeto Field y definiendo un tiempo sobre el cual se ejecutará dicha fuente.
Saltos de Tiempo: Generalmente los saltos de tiempo se definen automáticamente por Meep.
Condiciones de Frontera: Meep soporta PML (Perfectlty Matched Layer) que a grandes rasgos consta de un material perfecto que absorbe las ondas electromagnéticas y sin ningún tipo de reflección en todas las frecuencias y ángulos, el PML da la ilusión de una condición de propagación perfecta del campo electromagnético fuera de las fronteras del Volumen de la malla.
En esta sección se han descrito algunos de los conceptos fundamentales para realizar simulaciones sencillas, éste articulo se estará actualizando mientras se avance sobre el desarrollo de simulaciones mas complejas y resulte la necesidad de definir mas conceptos.
4 thoughts on “Meep: Estructura de un programa Meep con C++”