You can do it in three ways.
First, you can use the find-k function to solve for wavevector k at a
fixed frequency. Since this is at a fixed frequency, you can then set the
dielectric constant to whatever you need.
Alternatively, you can iterate: find omega at a given k, then update
epsilon based on omega, then find omega again, ... and so on. This should
converge fairly quickly, although you can accelerate it by thinking of it
as a root finding procedure and using Newton's method (where the
derivative is given by perturbation theory).
Finally, for weak material dispersion, you can just use perturbation
theory: the fractional correction in the frequency is just the fractional
change in the index multipled by the fraction of the electric field energy
in the material, all of which can be easily calculated in MPB.
In practice, the first-order perturbative correction is probably accurate
enough for most cases (unless you are looking over a very broad bandwidth,
in which case you can just chop the bandwidth up into pieces and use the
perturbative correction for each piece). If the dispersive change in
index is *not* small, then the imaginary part of the index will probably
not be small either by Kramers-Kronig, and MPB is only applicable to
materials for which the imaginary part of epsilon is much smaller than
epsilon.
On Mon, 15 May 2006, Sukanya Randhawa wrote:
Is it possible to include materials dispersion(change in refractive index for
change in wavelength) for calculation of band structures for 2D Photonic
crystals?
_______________________________________________
mpb-discuss mailing list
mpb-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss