Hi everyone,

I want to know how much light of certain wavelength willbe confined in the
air core when I put a dipole source in the air core of  the hollow core
silica/air photonic crystal fiber. I also want to know at which direction
the light willbe totally  confined in the air core.  Can Meep or MPB do
these tasks ? And how?

 I try to find the bandgap corresponding to a certain frequency  with the
structure  of  the photonic crystal fiber. The air holes are arranged as
a triangular lattice. The periodic structure is on the x-y plane. The
parameters are as follows: the hole radius is 0.75um, and the pitch is
1.6um. The wavelength at which I want to get the  bandgap is  785nm. I
have found that there is no bandgap on the x-y plane throuth simulation
with MPB. So I wonder how to set the components of wavevector, that is
kx, ky and kz,  in order to get the bandgap corresponding to 785nm? 
Below is the ctl file I found in the mailist of MPB. And  I have changed
the parameters to my own. I can draw the band structures varying kx and
ky after fixing kz. In order to find the bandgap corresponding to 785nm, 
It is still cumbersome. Are there better suggestions? Thanks a lot!

attached ctl file

;With the parameters of  785nm pcf.

; first, define the lattice vectors and k-points for a triangular lattice:



(set! geometry-lattice (make lattice (size 1 1 no-size)

                         (basis1 (/ (sqrt 3) 2) 0.5)

                         (basis2 (/ (sqrt 3) 2) -0.5)
                        (basis-size 1.6 1.6 1))
)



(define-param kz-min 0)

(define-param kz-max 5)

(define-param kxy-interp 4)

(define-param kz-interp 25)



(define Gamma (vector3 0 0 0))

(define M (vector3 0 0.5 0))

(define K (vector3 (/ -3) (/ 3) 0))



(define IBZ (list Gamma M K))



(define-param boundaries-only? true)

(define-param gamma-only? false)





   (set! k-points

          (fold-left

           append '()

           (map

            (lambda (kz)

              (interpolate kxy-interp

                           (list (vector3 0 0 kz)          ; Gamma

                                 (vector3 0 0.5 kz)        ; M

                                 (vector3 (/ -3) (/ 3) kz) ; K

                                 (vector3 0 0 kz)          ; Gamma

                                 )))

            (interpolate kz-interp (list kz-min kz-max)))))



(if gamma-only?

    (set! k-points (interpolate kz-interp (list (vector3 0 0 kz-min)

                                                (vector3 0 0 kz-max)))))



; Now, define the geometry, etcetera:



(define-param n 1.45) ; dielectric constant of silica

(define-param r 0.75) ; the hole radius



; hollow cylinder outer radius (can overlap) (defaults to no corner voids)

(define-param r-outer infinity)



(define C->L (compose cartesian->lattice vector3))

(define (hexagon r c m)

  (list

   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))

         (e1 (C->L 1 0)) (e2 (C->L 0 1)))

   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))

         (e2 (C->L (/ (sqrt 3) 2) 0.5)) (e1 (C->L -0.5 (/ (sqrt 3) 2))))

   (make block (center c) (material m) (size (* r (sqrt 4/3)) (* 2 r))

         (e2 (C->L (/ (sqrt 3) 2) -0.5)) (e1 (C->L 0.5 (/ (sqrt 3) 2))))

   ))



(define-param hex? false)



(define diel (make dielectric (index n)))

(if hex?

    (begin

      (set! default-material diel)

      (set! geometry (hexagon r (vector3 0) air)))

    (set! geometry (list (make cylinder (center 0) (material diel)

                               (radius r-outer)

                               (height infinity))

                         (make cylinder (center 0) (material air)

                               (radius r) (height infinity)))))



(set-param! resolution 32)

(set-param! num-bands 50)



(run)



_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss

Reply via email to