Photonic crystal slab waveguide

Sascha Meyne <[email protected]> Wed, 13 Jul 2011 17:56:15 +0200
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
Dear mpb-users,

I am very new to mpb, so sorry if I bother you with my questions. I'd 
like to analyse a photonic crystal slab waveguide using mpb. The 
waveguide shall be implemented through a line-defect in a hole-slab with 
triangular lattice. I tried to combine the example codes that come with 
the mpb-package (hole-slab.ctl and line-defect.ctl), in order to achieve 
the proper geometry. But it seems like I am missing some of the default 
behaviour of mpb, for example, does the 
|geometric-objects-lattice-duplicates-|command duplicate the object list 
in /all /lattice directions, and if so, how can I suppress it?
However, if I look at the resulting geometry of my ctl-file, it seems 
like only the last inserted rods persist and the whole other structure 
is in some way overwritten, and I can not find any reason for this.
I attached my ctl-file to the mail, I hope you can help me.
Thank you very much in advance!

Best regards,
Sascha Meyne

_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss
phc_slab_wg.ctl (text/plain, 2.4 KB)
; A line-defect waveguide in a 2d triangular lattice of dielectric
; rods (c.f. tri-rods.ctl), formed by a row of missing rods along the
; "x" direction.  (Here, "x" and "y" refer to the first and second
; basis directions.)  This structure supports a single guided band
; within the band gap, much like the analogous waveguide in a square
; lattice of rods (see "Photonic Crystals" by Joannopoulos et al.).

(define-param supercell-y 7) ; the (odd) number of lateral supercell periods
(define-param supercell-z 4) ; size of supercell in z-direction
(define-param h 1) ; the thickness of the slab

(define-param n 3.5)  ; refractive index of silicon

(define Si (make dielectric (index n)))

(set! default-material air)

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

(define-param r 0.2) ; the rod radius in the bulk crystal

; Si slab
(set! geometry
      (list (make block 
		(material Si)
		(center 0) 
	        (size infinity infinity h)
	    )
      )
)

(set! geometry 
      (append
       	; duplicate air rods over the supercell:
       	(geometric-objects-lattice-duplicates 
			(list 	(make cylinder 
					(material air) 
					(center 0) 
					(radius r) 
					(height h)
				)
			)
	       	)

	       ; add a rod of Si in the center, to erase a row of rods and form a waveguide:
	       (list 
			(make cylinder 
				(center 0) 
				(radius r) 
				(height h)
		      		(material Si)
			)
		)
       	)
)



(define Gamma (vector3 0 0 0))
(define K' (lattice->reciprocal (vector3 0.5 0 0))) ; edge of Brillouin zone.
(set! k-points (interpolate 8 (list Gamma K')))

; the bigger the supercell, the more bands you need to compute to get
; to the defect modes (the lowest band is "folded" supercell-y times):
(define-param extra-bands 5) ; number of extra bands to compute above the gap
(set! num-bands (+ (+ supercell-y extra-bands) supercell-z))

(set-param! resolution (vector3 32 32 16))
(define-param par (+ EVEN-Z EVEN-Y))
(define-param reset true)

; Compute the TM modes, outputting the E field in the *middle* of the
; band.  (In general, the guided mode in such an air defect may have
; exited the gap by the time it reaches the edge of the Brillouin
; zone at K'.)
(run-parity par reset
 (output-at-kpoint K' fix-efield-phase output-efield)
 (output-at-kpoint K' fix-hfield-phase output-hfield))