La fuente puntual

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

  1. 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