PBD of a D minimal energy surface

"B.D.Wilts" <[email protected]> Wed, 20 Jul 2011 18:44:25 +0200
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
Dear all,I am trying to simulate the photonic band structure diagram of a single D structure (diamond-like). The structure is defined by a level-set equation, similar to those of gyroids discussed earlier (http://www.mail-archive.com/[email protected]/msg00542.html). I was able to set-up the dielectric function and the created epsilon-output indeed has the shape of a D structure. However, when I look at the bandgap diagram, I can see no bandgap of reasonable size. As a test, I tried to reproduce the bandgap width of a 30% filled D-structure (t < -0.5) of Kole et al. (Fig.1 , link.aps.org/doi/10.1103/PhysRevB.68.115107), but failed to see the shown broad gap. I also tested a Diamond structure with air spheres to much the 30% filling and there the bandgap size is approximately right.To me it is not obvious, what is going wrong in my code. Any help and debugging would be greatly appreciated!Cheers,Bodo; Dielectric Schwartz D surface in air, on a fcc lattice(set! geometry-lattice (make lattice (basis-size (sqrt 0.5) (sqrt 0.5) (sqrt 0.5)) (basis1 0 1 1) (basis2 1 0 1) (basis3 1 1 0))); Corners of the irreducible Brillouin zone for the fcc lattice(set! k-points (interpolate 10 (list (vector3 0 0.5 0.5) ; X (vector3 0 0.625 0.375) ; U (vector3 0 0.5 0) ; L (vector3 0 0 0) ; Gamma (vector3 0 0.5 0.5) ; X (vector3 0.25 0.75 0.5) ; W (vector3 0.375 0.75 0.375)))) ; K; define a couple of parameters (which we can set from the command-line)(define-param epsmat 11.9) ; dielectric(define-param treshold -0.5) ; treshold to choose pinch-off point(define pi (* 4 (atan 1))) ; 3.14159...; The Epsilon function that returns the dielectric constant as a function of position; returns epsmat if the value of function D < isoval, else it uses air (eps 1); D = cos(2*pi*z).*sin(2*pi*y + 2*pi*x) + sin(2*pi*z).*cos(2*pi*x - 2*pi*y)(define (eps-func p) (let* ((lattice->cartesian p) (x (vector3-x p)) (y (vector3-y p)) (z (vector3-z p))) (if (< (+ (* (cos (* 2 pi z)) (sin (+(* 2 pi x)(* 2 pi y))))(* (sin (* 2 pi z)) (cos (- (* 2 pi x)(* 2 pi y))))) treshold) (make dielectric (epsilon epsmat)) (make dielectric (epsilon 1))))); We'll just make it the default material, so that it goes everywhere.(set! default-material (make material-function (material-func eps-func)))(set-param! resolution 32)(set-param! mesh-size 3)(set-param! num-bands 6)(run)

_______________________________________________
mpb-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss