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

Reply via email to