Re: How to define various widths of waveguides in triangular lattice PC slab?

Mark Patterson <[email protected]>
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
With the (basis1) and (basis2) commands, you have indicated that  
coordinates will use this non-rectangular basis. You then want to  
shift the holes in the y direction, which is not parallel to either of  
your basis vectors. You have two options, convert the shift for the  
holes into your specified basis, or work in a rectangular basis. My  
personal feeling is that the rectangular basis is a bit easier to use.  
See the revised code below which uses a rectangular basis.
-Mark Patterson
Dept. of Physics
Queen's University at Kingston

(define-param h 0.6) ; the thickness of the slab
(define-param eps 12) ;
(define-param subeps 2.1025) ;
(define-param r 0.3335 ) ; the radius of the holes
(define-param supercell-h 4) ; height of the supercell

(define-param dy (/ 0.65 2))
(define-param supercell-y (+ 10 (* 2 dy))) ; the (odd) number of  
lateral supercell periods

(set! geometry-lattice (make lattice (size 1 supercell-y supercell-h)
    (basis1 1 0)
    (basis2 0 (/ (sqrt 3) 2))))

(set! geometry
      (list (make block (material (make dielectric (epsilon subeps)))
                  (center 0 0 (* 0.25 supercell-h)) (size infinity  
infinity (* 0.5 supercell-h)))
            (make block (material (make dielectric (epsilon eps)))
                  (center 0) (size infinity infinity h))))

(set! geometry
        (append geometry
             (list (make cylinder (material air)
                     (center 0.5 (+ 1 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0 (+ 2 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0.5 (+ 3 dy) 0) (radius r) (height h))
                     (make cylinder (material air)
                     (center 0 (+ 4 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0.5 (+ 5 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0.5 (- -1 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0 (- -2 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0.5 (- -3 dy) 0) (radius r) (height h))
                     (make cylinder (material air)
                     (center 0 (- -4 dy) 0) (radius r) (height h))
                   (make cylinder (material air)
                     (center 0.5 (- -5 dy) 0) (radius r) (height h))
                     )))
;define the defect of the clad layer(fill in)

; 1st Brillouin zone of a triangular lattice:
(define Gamma (vector3 0 0 0))
;(define K' (lattice->reciprocal (vector3 0.5 0 0))) ; edge of  
Brillouin zone.
;(define-param k-interp 8)   ; the number of k points to interpolate
; (set! k-points (interpolate k-interp (list Gamma K')))
(set! k-points (list Gamma))
(set-param! resolution (vector3 24 24 24))
; (set-param! mesh-size 7)
; (set-param! num-bands 15)
(set-param! num-bands 1)
; Run even and odd bands, outputting fields only at the K point:
(run-zeven)

On 2008-09-17, at 10:36 , Jin Hou wrote:

> Dear Steven and MPB's users,
>
>      I would like to calculate the waveguide dispersion of  
> triangular PCs slab.
> The waveguide width is not equal to conventional width of W1  
> waveguide, and is formed by moving (up and down) the nearest  
> neighbor air holes around the linear defect (For example,   
> W=0.65*sqrt3 =0.65*W1).  The same question was already asked by Nils  
> Jensen on 21 Apr 2008 in the mpb-discussion, his mail titled  
> "Waveguide in 2D-PCs of triangular symmetry". But I did not find the  
> solution.
>     I would like to define the structure like the usual W1  
> waveguide, but with different waveguide width.  But when I used the  
> similar codes like Nils Jensen used, the same problem appeared. The  
> two nearest neighbor holes are not symmetry by y axis, as the  
> attached picture showed.
>     I tried several other ways to define the structure, but the  
> problem remains. Below is one of the codes, and the attached picture  
> is the unexpected structure of the result. Other ways have the same  
> result of structure output in the *.out file.
>     Is there someone know how to define the structure correctly?
>     Thanks!
>
>
> (define-param h 0.6) ; the thickness of the slab
> (define-param eps 12) ;
> (define-param subeps 2.1025) ;
> (define-param r 0.3335 ) ; the radius of the holes
> (define-param supercell-h 4) ; height of the supercell
> (define-param supercell-y 10.3) ; the (odd) number of lateral  
> supercell periods
>
> (set! geometry-lattice (make lattice (size 1 supercell-y supercell-h)
>    (basis1 (/ (sqrt 3) 2) 0.5)
>    (basis2 (/ (sqrt 3) 2) -0.5)))
>
> (set! geometry
>      (list (make block (material (make dielectric (epsilon subeps)))
>                  (center 0 0 (* 0.25 supercell-h)) (size infinity  
> infinity (* 0.5 supercell-h)))
>            (make block (material (make dielectric (epsilon eps)))
>                  (center 0) (size infinity infinity h))))
>
>
> (set! geometry
>        (append geometry
>             (list (make cylinder (material air)
>                     (center 0 0.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 1.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 2.65 0) (radius r) (height h))
>                     (make cylinder (material air)
>                     (center 0 3.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 4.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 -0.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 -1.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 -2.65 0) (radius r) (height h))
>                     (make cylinder (material air)
>                     (center 0 -3.65 0) (radius r) (height h))
>                   (make cylinder (material air)
>                     (center 0 -4.65 0) (radius r) (height h))
>                     )))
> ;define the defect of the clad layer(fill in)
>
> ; 1st Brillouin zone of a triangular lattice:
> (define Gamma (vector3 0 0 0))
> (define K' (lattice->reciprocal (vector3 0.5 0 0))) ; edge of  
> Brillouin zone.
> (define-param k-interp 8)   ; the number of k points to interpolate
>  (set! k-points (interpolate k-interp (list Gamma K')))
> (set-param! resolution (vector3 24 24 24))
> (set-param! mesh-size 7)
> (set-param! num-bands 15)
> ; Run even and odd bands, outputting fields only at the K point:
> (run-zeven)
>
>
>
> Best wishes,
>                            Yours,
>                           Jin Hou   
>                    
> Wuhan National Laboratory for Optoelectronics,
> College of Optoelectronic Science and Engineering,
> Huazhong University of Science & Technology,
> Wuhan, 430074, P.R.CHINA
> Phone: 86-027-87792195
> Web:  http://oe.hust.edu.cn/sub_web/zzp/lab_web/Index.html
>
> 开心过好每一天!
>
> 雅虎邮箱,您的终生邮箱! 
> <wg.png>_______________________________________________
> mpb-discuss mailing list
> [email protected]
> http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss

_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss
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.