Some questions about PCF

[email protected]
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.