Hi everyone,
I'm sorry if this question is basic, but after searching for a while I really couldn't figure out an answer. My question is this. Given a dielectric structure for which we find the band structure over a given path over the first Brillouin Zone (e.g. Gamma-X-M-Gamma), how do we get the fields at just one k-point and just one band? For example, if I want the fields from the 33rd band at the X-point. I have tried: (run (output-at-k-point (vector3 0.5 0 0) (output-efield-x 33) (output-efield-y 33) (output-efield-z 33))) but this doesn't work. I saw a post from Steven Johnson at https://www.mail-archive.com/mpb-discuss@ab-initio.mit.edu/msg00062.html explaining that we need to give the run function a band function, so I tried making a function as follows: (define (MyBandFunction) (begin (output-at-k-point (vector3 0.5 0 0) (output-efield-x 33) (output-efield-y 33 (output-efield-z 33) ) ) ) (run MyBandFunction) but still no dice. By my understanding of how MPB works is that it takes your dielectric structure, takes a band and outputs the electric field for all the k-points. So, I figured I could use the "current-k" global variable. Something like (define (MyBandFunction2) (if (eq? current-k (vector3 0.5 0 0)) ( (begin (output-efield-x 33) (output-efield-y 33 (output-efield-z 33) ) ) ) ) (run MyBandFunction2) but it still doesn't work. Would someone please be able help me figure out how to get the output for one particular k-point at one band? Thank-you very much! Pranai
_______________________________________________ mpb-discuss mailing list mpb-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss