Re: PBG of gyroid structure
Vinodkumar Saranathan <[email protected]>
| Newsgroups | gmane.comp.science.photonic-bands |
|---|---|
| Message-ID | <[email protected]> |
Dear Steven and Mischa,
Thanks for your suggestions, I was able to set up the dielectric function.
However, I was trying to reproduce the result of Maldovan et al. 2002:
http://prola.aps.org/abstract/PRB/v65/i16/e165123
where they calculate the PBG for a single gyroid (I4-1-32) structure with
a dielectric contrast of 13 and
dielectric packing fraction 50%
But I am not able to reproduce the results. It is not immediately obvious
from my ctl file, where I have made a mistake. any help in debugging will
be very much appreciated!
cheers,
Vinod
PS> the dielectric function when visualized using vis5d looks normal. I've
used the level set equation from Wohlgemuth et al. 2001 to set up the
dielectric density function, specifically Ive used the F(110) structure
factor component, which sufficiently approximates the gyroid surface.
PPS> I am also not sure which set of canonical k-points is the most
appropriate for a I4-1-32 structure - is it H P N Gamma or X R M Gamma?
; A single gyroid structure (I4-1-32) of dielectric network in air, on a
bcc lattice
(set! geometry-lattice (make lattice
(basis-size (sqrt 0.75) (sqrt 0.75) (sqrt 0.75))
(basis1 -1 1 1)
(basis2 1 -1 1)
(basis3 1 1 -1)))
; Corners of the irreducible Brillouin zone for the bcc lattice,
; in a canonical order:
(set! k-points (interpolate 4 (list
; (vector3 0.25 0.25 0) ; N
; (vector3 0.25 0.25 0.25) ; P
; (vector3 0 0 0) ; Gamma
; (vector3 0.25 0.25 0) ; N
; (vector3 0 0.5 0) ; H
; (vector3 0.25 0.25 0.25)))) ; P
(vector3 0 0 0) ; Gamma
(vector3 0.5 0.5 0.5) ; R
(vector3 0 0.5 0.5) ; M
(vector3 0 0 0) ; Gamma
(vector3 0 0 0.5) ; X
(vector3 0 0.5 0.5)))) ; M
; define a couple of parameters (which we can set from the command-line)
(define-param epsc 13.0) ; the dielectric
(define-param isoval 0) ; isovalue to choose packing fraction
; 0 - 50%, 0.3 - 40%, 0.6 - 30&, 1 - 17%, 0.765 - 25%
(define pi (* 4 (atan 1))) ; 3.14159...
; The Epsilon function that returns the dielectric constant as a function of position
; returns epsc if the value of the level-set function V > isoval, or else returns 1
;V = sin(2*pi*x).*cos(2*pi*y)+sin(2*pi*y).*cos(2*pi*z)+cos(2*pi*x).*sin(2*pi*z)
(define (eps-func p)
(if (> (+ (+ (* (sin (* 2 pi (vector3-x p))) (cos (* 2 pi (vector3-y p)))) (* (sin (* 2 pi (vector3-y p))) (cos (* 2 pi (vector3-z p))))) (* (sin (* 2 pi (vector3-z p))) (cos (* 2 pi (vector3-x p))))) isoval)
(make dielectric
(epsilon epsc))
(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 16)
(set-param! mesh-size 16)
(set-param! num-bands 8)
(run)
On Fri, 24 Apr 2009, Steven G. Johnson wrote:
> On Apr 24, 2009, at 11:43 AM, Vinod Saranathan wrote:
>> I am trying to model the photonic bandgap of a gyroid (Ia3d) structure
>> using MPB. I was wondering if this was possible using MPB given the surface
>> is continuous and not discrete and would appreciwate any help in setting up
>> the unit cell.
>>
>> Or is MEEP more suited to this. I have written a code that can import any
>> arbitrary geometry (2D/3D) into MEEP.
>
> MPB is more suited to bandgap calculations in general (with a few exceptions,
> like metallic structures).
>
> MPB can import any shape in a variety of ways. It can import the dielectric
> function from an arbitrary HDF5 file (see the epsilon-file feature). You can
> also specify your own dielectric function by writing an arbitrary function in
> Scheme (see the material-function type).
>
> Steven
"Krieg ist immer der falsche Weg."