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

Reply via email to