Discussion:
[Meep-discuss] Bloch periodicity with conserved k_x and changing lattice vector
Christoph Kleinhans
2018-10-04 21:36:18 UTC
Permalink
Dear Meep users,

in python, having a Gaussian plane wave propagating in different angles
on a periodic structure. Let's say that the wavevector k_x component is
parallel to the periodic structure surface and the k_y component
perpendicular to the structure surface. We have bloch periodicity in
x-direction and at the y-boundaries a PML. The lattice constant, or
better the primitive lattice vector, is a_x.

For the fields I would like to conserve k_x for the periodicity. But for
the periodic structure I would like that the primitive lattice vector
a_x is getting smaller till a fixed value n for the number of translations.

So instead of having

epsilon(r) = epsilon(r + n * a_x)

I would like to change a_x depending on the number of translations, f.i.

epsilon(r) = epsilon(r + n * a_x * f(n))


Is this the right approach for simulating a periodic structure where the
holes in the lattice are getting smaller? Is it possible to implement
this in py-meep?


Best Regard
Christoph
Ardavan Oskooi
2018-10-04 22:05:03 UTC
Permalink
Post by Christoph Kleinhans
I would like to change a_x depending on the number of translations, f.i.
epsilon(r) = epsilon(r + n * a_x * f(n))
Is this the right approach for simulating a periodic structure where
the holes in the lattice are getting smaller? Is it possible to
implement this in py-meep?
This is possible. See the following example involving a nanobeam cavity
where the periodicity of the unit cell is tapered to create a high-Q
defect mode:

http://www.simpetus.com/projects.html#meep_cavity

Loading...