Hi, the ctl file that you need is as follow :
(define-param h 0.6) ; the thickness of the slab (define-param eps 12) ; the dielectric constant of the slab (define-param loweps 1.0) ; the dielectric constant of the substrate (define-param r 0.3) ; the radius of the holes (define-param supercell-h 7) ; height of the supercell (define-param supercell-y 7) ; the (odd) number of lateral supercell periods ; triangular lattice with vertical supercell: (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 loweps))) (center 0 0 0) (size infinity infinity supercell-h)) (make block (material (make dielectric (epsilon eps))) (center 0 0 0) (size infinity infinity h)) (make cylinder (material air) (center 0) (radius r) (height supercell-h)))) (set! geometry (append ; duplicate the bulk crystal rods over the supercell: (geometric-objects-lattice-duplicates geometry 1 1 supercell-h) ; add a rod of air, to erase a row of rods and form a waveguide: (list (make cylinder (center 0) (radius r) (height supercell-h) (material (make dielectric (epsilon eps))))) )) ; 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 only-K false) ; run with only-K=true to only do this k-point (define-param k-interp 4) ; the number of k points to interpolate (if only-K (set! k-points (list K)) (set! k-points (interpolate k-interp (list Gamma K')))) (set-param! resolution (vector3 32 20 20)) (set-param! mesh-size 7) (set-param! num-bands 11) ; Run even and odd bands, outputting fields only at the K point: (run-zeven (output-at-kpoint K' output-hfield-z)) (display-eigensolver-stats) Good Luck --- On Fri, 3/18/11, Fulya Bagci <[email protected]> wrote: From: Fulya Bagci <[email protected]> Subject: [MPB-discuss] triangular lattice PhC slab waveguide formation in a rectangular cell To: [email protected] Date: Friday, March 18, 2011, 8:09 AM Hello Dr.Steven and MPB-users, For the first line of my below ctl file, if I use a supercell-y of different length than a multiply of (sqrt 3) I get a wrong picture of the triangular lattice epsilon image. Why? How can I get the attached image file (4 holes sidelong of line defect) by using a rectangular cell ? What supercell-y, geometry-lattice size and geometric-objects-lattice-duplicates multiplies do you suggest? My second question is that does mpb allows us to define the geometry via two cases? With an if statement isn't is possible? (For the calculation of extended states and guided modes two different geometries can be used. ) Thank you for your kind consideration. Regards, Fulya Bagci Ankara University, Dep.of Eng. Physics. ----------------------------------------------------- ;This is a PhC slab waveguide, formed from triangular lattice of air holes in a silicon slab, suspended in air---PhCs: Molding the Flow of Light, chapter 8, fig.8 ;--define parameters ;??(define-param supercell-y 7) (define-param supercell-y (* 3 (sqrt 3))) (define-param eps 12) ;die. constant of slab (define-param r 0.3) ,radius of holes (define-param h 0.6) ;thickness of slab (define-param supercell-h 4) ;thickness of slab+air surround to calculate index-guided ;modes (define matsi (make dielectric (epsilon 12))) ;--set geometry-lattice (set! geometry-lattice (make lattice (size 1 supercell-y supercell-h))) ;--set geometry dublicate geometry (set! geometry (list (make block (material air)(center 0)(size infinity infinity supercell-h)) (make block (material matsi)(center 0)(size infinity infinity h)) )) ;----- (set! geometry (append geometry (geometric-objects-lattice-duplicates (list (make cylinder (center 0 0 0) (radius r) (height h) (material air))) 1 (sqrt 3) supercell-h) )) (set! geometry (append geometry (geometric-objects-lattice-duplicates (list (make cylinder (center -0.5 -0.866 0)(radius r) (height h) (material air))) 1 (sqrt 3) supercell-h) )) ; add a line-defect (set! geometry (append geometry (list (make cylinder (center 0 0 0)(radius r)(height h)(material matsi) ) ) )) (set-param! resolution (vector3 32 32 16)) ;--set k-points (define Gamma (vector3 0.3 0 0)) (define K' (lattice->reciprocal (vector3 0.5 0 0))) ; edge of Brillouin zone. (set! k-points (interpolate 13 (list Gamma K'))) (set! tolerance 1e-3) ;--run (define-param extra-bands 15) (set! num-bands (+ 5 extra-bands)) (run-yeven-zeven) (run-yodd-zeven) -----Inline Attachment Follows----- _______________________________________________ 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
