El programa es
import meep as mp cell = mp.Vector3(16, 16, 0) geometry = [ mp.Block( mp.Vector3(16, 8, mp.inf), center=mp.Vector3(0, 4), material=mp.Medium(epsilon=2.25), ), mp.Block( mp.Vector3(16, 8, mp.inf), center=mp.Vector3(0, -4), material=mp.Medium(epsilon=1), ), ] pml_layers = [mp.PML(1.0)] resolution = 10 sources = [ mp.Source( mp.ContinuousSource(frequency=1.0), component=mp.Ez, center=mp.Vector3(0, -1) ) ] sim = mp.Simulation( cell_size=cell, boundary_layers=pml_layers, geometry=geometry, sources=sources, resolution=resolution, ) sim.run( mp.at_beginning(mp.output_epsilon), mp.to_appended("ez", mp.at_every(0.6, mp.output_efield_z)), until=200, )
Podemos ver la estructura con
from matplotlib import pyplot as plt %matplotlib inline plt.figure(dpi=100) sim.plot2D() plt.show()
Las instrucciones estan aqui
https://meep.readthedocs.io/en/latest/Python_Tutorials/Basics/
para generar las imagenes tenemos
h5topng -t 0:332 -R -Zc dkbluered -a yarg -A eps-000000.00.h5 ez.h5
y para el gif
convert ez.t*.png ez.gif
Analisis de casos
- El medio de arriba es epsilon=2.25, abajo es vacio. La distancia de la fuente puntual es d. La longitud de onda es d.
Caso de una separacion d=1
Caso 0.5 d , resolution de 20
Ahora tenemos la fuente en 0.5 pero en la aprte de arriba
Fuente en 2d
3d
Emision en la pura interfase
Puro aire
puro dielectrico 2.25