Issues with DOS calculations

Vijay Jain <[email protected]> Sun, 4 Sep 2011 01:48:55 -0400
Newsgroups gmane.comp.science.photonic-bands
Message-ID <CAPKPWgJJa9xM0TJic0k-yBdpBtZwnbnTMLmcQgBqmi0uhRkZZg@mail.gmail.com>
Hi MPB users,

I am having an issue with DOS calculations. If you have a moment to help, it
would be much appreciated.

I am trying to use 'dos.scm' to calculate the DOS of a square lattice, and
then a square lattice with a point defect. In order to get the point defect,
I changed my computational cell from the traditional 1x1 to a 4x4 so that I
could remove the center cylinder. When I try to compute the DOS, my code
compiles and prints; however, the DOS calculations stop at an arbitrary
value (550/1999) in the range of 2000 values that I asked it to compute. It
returns "#.#" and the remainder of the frequencies just give "0.0" as the
DOS value. Any one have thoughts on what I could be doing wrong?

My code is pasted below.

Best,
Vijay Jain

----

; Code modified from MPB/examples/sq-rods.ctl
; Compute band structure for a square lattice of dielectric rods
; in air.

; Define various parameters with define-param so that they are
; settable from the command-line (with mpb <param>=<value>):
(define-param r 0.2) ; radius of the rods
(define-param eps (make dielectric (epsilon 11.56))) ; dielectric constant
(define-param k-interp 4) ; number of k points to interpolate

(define-param xlat 4)
(define-param ylat 4)

(define v1 (vector3 1 0 0))
(define v2 (vector3 0 1 0))

(set! geometry-lattice (make lattice (size xlat ylat no-size))) ; 2d cell

(set! geometry
      (append
       (geometric-objects-duplicates v1 (/ xlat -2) (/ xlat 2) ;; duplicate
list of objects below this line
                                     (geometric-object-duplicates v2 (/ ylat
-2) (/ ylat 2) ;; creates column of cylinders
                                                                  (make
cylinder

(radius r)

(height infinity)

(center 0 0)

(material eps)
                                                                        )))
       (list
        (make cylinder ; this is to make the point defect
              (radius r)
              (center 0 0)
              (height infinity)
              (material eps)
              ))
       ))

(define Gamma (vector3 0 0 0))
(define X (vector3 0.5 0 0))
(define M (vector3 0.5 0.5 0))
(set! k-points (interpolate k-interp (list Gamma X M Gamma)))

(set-param! resolution 32)
(set-param! num-bands 10)

; Compute the TE and TM bands.  Wrap in the (begin-time message ...)
; construct from libctl so that we report the total elapsed time:
(begin-time
 "total time for both TE and TM bands: "
 (run-te)
 (run-tm))

(display-eigensolver-stats)
(include "dos.scm")
(print-dos 0 1 2000)

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