Dear Steven,

Thank you very much for spending time to check the code.

> For one thing, you don't say what your triangular lattice code looks  
> like; maybe you have bugs there.  You also don't say how you are  
> counting waveguide modes.

The waveguide modes are those confined in the line defect region. That's what I 
mean the waveguide modes (As is shown in your online book of photonic crystals, 
figure 10, chapter 8). Sorry that I didn't make that clear. The modes will not 
extend into the adjacent supercells in the direction normal to the W1 waveguide.

As for the ctl file of triangular lattice, it is:
; A line-defect waveguide in a 3d PhC slab
;------------------------------------------------
(define eps-si 12.11)
(define eps-eff-si (sqr 2.77))

(define mat-si (make dielectric (epsilon eps-si)))
(define eff-si (make dielectric (epsilon eps-eff-si)))
;------------------------------------------------
;------------------------------------------------
(define a 1)
(define r (* 0.29 a))
(define h (* 0.6 a))

(define s1 (* 1 a))
(define s2 (* 1 a))
(define s3 (* 4 a))

(define wg-ratio 0.8) ; W0.8 waveguide
(define shift-1 (/ (+ -1 wg-ratio) -2))
(define shift-2 (* -2 shift-1))
; Introduce three holes on each side of the wg
(define supercell-2 (+ 7 (* 2 shift-2)))
; Positions of the holes
(define p1 (vector3 (+ 0 shift-1) (+ 1 shift-2) 0))
(define p2 (vector3 (+ 0 shift-1) (+ 2 shift-2) 0))
(define p3 (vector3 (+ 0 shift-1) (+ 3 shift-2) 0))
(define m1 (vector3 (- 0 shift-1) (- -1 shift-2) 0))
(define m2 (vector3 (- 0 shift-1) (- -2 shift-2) 0))
(define m3 (vector3 (- 0 shift-1) (- -3 shift-2) 0))
;------------------------------------------------
;------------------------------------------------
(define-param k-interp 29)
;------------------------------------------------
;------------------------------------------------
(set-param! resolution (vector3 32 32 16))
(set-param! num-bands 20)
(set-param! mesh-size 7)
;------------------------------------------------
;------------------------------------------------
(define cylinder-si (make cylinder
                      (center 0) (material mat-si)
                      (radius r) (height h)))
(define cylinder-air (make cylinder
                       (center 0) (material air)
                       (radius r) (height h)))
(define slab-si (make block
                  (center 0) (material mat-si)
                  (size infinity infinity h)))
;------------------------------------------------
(set! default-material air) ; Air-bridged
(set! geometry-lattice (make lattice 
                         (basis1 (/ (sqrt 3) 2) 0.5)
                         (basis2 (/ (sqrt 3) 2) -0.5)
                         (basis3 0 0 1)
                         (size 1 supercell-2 s3)))
(set! geometry (list 
                slab-si ; make slab
                (shift-geometric-object cylinder-air p1)
                (shift-geometric-object cylinder-air p2)
                (shift-geometric-object cylinder-air p3)
                (shift-geometric-object cylinder-air m1)
                (shift-geometric-object cylinder-air m2)
                (shift-geometric-object cylinder-air m3)))

(define kz 0) ; In-plane
(define Gamma (vector3 0 0 0))
(define K' (lattice->reciprocal (vector3 0.5 0 kz)))
(set! k-points (interpolate k-interp (list Gamma K')))

(if (= kz 0)
    (begin
      (run-zeven 
       (output-at-kpoint K' fix-efield-phase output-efield-y)
       (output-at-kpoint (list-ref k-points (quotient (length k-points) 2))
                         fix-efield-phase output-efield-y))))

(display-eigensolver-stats)
(set! mesh-size 3)


> For another thing, remember that the boundary conditions are  
> periodic.  If you take your structure and imagine repeating it  
> periodically in the lateral directions, you'll see that the two  
> lateral sides of your unit cell don't match up. This means that you  
> effectively have an additional line defect at the edge of your  
> rectangular supercell, which is not what you want.  You need to add  
> another half a period to each side in the lateral direction to make  
> them match.

Yes, you are right that there will be an additional line defect. Following the 
above suggestion, I added another half a period (with four holes centered at 
the four corners). The structure is OK. But I only care about the modes that 
are bounded in the center W1 defect region. So, I see that the new ctl file 
produces the same results of those bounded modes. 

I am new to the frequency-domain simulations/theory of waveguides and 
mode-gaps. For those modes bounded in the W0.8 defect region, does it matter if 
the adjacent cells (relatively far from the W0.8 defect) don't looks eactly the 
same as the center cell in rectangular coordinate?  By checking "epsilon.h5" of 
the above attached ctl file, there will be leteral shift between the cells 
although the center cell looks OK.

Thank you very much.

Best,
Jiangjun

The modifications of the former ctl file for rectangular lattice:
; Add another four holes
(define p5 (vector3 0.5 (- (* d2 4) shift-y) 0))
(define p6 (vector3 -0.5 (- (* d2 4) shift-y) 0))
(define m5 (vector3 0.5 (- shift-y (* d2 4)) 0))
(define m6 (vector3 -0.5 (- shift-y (* d2 4)) 0))
; The new vertical width of the supper cell
(define supercell-2 (* d2 (+ 6 (* 2 wg-ratio))))
; And then Update the geometry
(shift-geometric-object cylinder-air m5)
(shift-geometric-object cylinder-air m6)
(shift-geometric-object cylinder-air p5)
(shift-geometric-object cylinder-air p6)
_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss

Reply via email to