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