# Plotting Extended Zone Scheme:

How could I present an extended zone scheme for a delta-function Kronig-Penney model? That is, how can I display only the lowest contour in the region [0, π], the second-lowest contour in the region [π, 2π], etc.? The dispersion relation is $\cos(k) = 5\rm{sinc}(5.12\sqrt{E}) + \cos(5.12\sqrt{E})$. My code for the reduced zone scheme (where all contours are displayed in the region [0, π]) is:

ContourPlot[
Cos[k] == Cos[5.12 Sqrt[e]] + 5*Sinc[5.12 Sqrt[e]], {k, 0, π}, {e, 0.1, 1.52},
FrameLabel -> {"k[\!$$\*SuperscriptBox[\(nm$$, $$-1$$]\)]", "Energy[eV]"},
PlotLabel -> Cos[k] == Cos[5.12 Sqrt[e]] + 5*Sinc[5.12 Sqrt[e]]]


which works fine, but I cannot see how to generalize this to the extended zone scheme.

• see, this is a site for questions on mathematica. you pose a question which is impossible to understand except by people who know what the Kronnig-Penney model, the extended zone scheme, Bloch theorem etc are. Please reformulate it – acl Mar 4 '13 at 20:19

This is a bit of a hack, but it seems to work. We want to detect when the winding numbers in the periodic functions are equal. Use Floor and add the result to the contour equation as an imaginary component. The contour will not be displayed unless both the real and imaginary parts are equal.

ContourPlot[
Cos[k] + I Floor[k/\[Pi]] ==
Cos[5.12 Sqrt[e]] + 5 Sinc[5.12 Sqrt[e]] +
I Floor[5.12 Sqrt[e]/\[Pi]], {k, 0, 3 \[Pi]}, {e, 0, 3.5},
GridLines -> {({#1 \[Pi], Dashed} &) /@ Range, None},
FrameLabel -> {SequenceForm[k,
" [\!$$\*SuperscriptBox[\(nm$$, $$-1$$]\)]"], "Energy [eV]"},
PlotLabel -> Cos[k] == Cos[5.12 Sqrt[e]] + 5 Sinc[5.12 Sqrt[e]]] 