2
$\begingroup$

We are considering the matrix transformation of an electromagnetic wave through periodic media. The constant is given as:

mu1= 1; mu2 = 1; e1 = 2.25;  e2 = 1;  d1 = 1*10^-7;  d2 = 1*10^-7;  Z1 = (mu1/e1)^1/2;  Z2 = (mu2/e2)^1/2;    q = Z2/Z1;  k1 = (mu1*e1) w;  k2 = (mu2*e2) w;

and the transfer matrix, where T12 transformation from medium 1 to medium 2 through the surface, similar to T21; and T1d is transfer in the media 1 of width d, similar for medium 2:

T12 = 1/2*{{1 + q, 1 - q}, {1 - q, 1 + q}};
T21 = 1/2*{{1 + 1/q, 1 - 1/q}, {1 - 1/q, 1 + 1/q}};
T1d = {{Exp[I*k1*d1], 0}, {0, Exp[-I*k1*d1]}};
T2d = {{Exp[I*k2*d2], 0}, {0, Exp[-I*k2*d2]}};


T = T12.T2d.T21.T1d;

The Bloch wavenumber is

Kb = Simplify[1/(d1 + d2)*ArcCos[Re[Tr[T]]/2]];

where Kb is function of omega. Here is a dispersion relation. Notice that Tr(T)<2 Kb is real, and Tr(T)>2 Kb is imaginary.

How do I make a dispersion relation plot using RegionPlot? Something like this: plot or this plot Thank you

$\endgroup$
10
  • $\begingroup$ Can you explain a bit about what's "dispersion relation plot"? Also, there're 2 definitions for T21 in your code, which one is T12. (You should always keep an eye on the coloring of code, the T12 should be blue now, which suggests it's "empty". ) $\endgroup$
    – xzczd
    Mar 28 '20 at 3:09
  • $\begingroup$ Thank you so much to point it out ! I have change it. $\endgroup$
    – Noah Ren
    Mar 28 '20 at 5:29
  • $\begingroup$ I hope to make a plot of w vs Kb or Kb vs w, that is dispersion relation. With different value of w, there may be some imaginary results for Kb, those are gaps. The region plot will gives us the gap and band (real results) in 2-D. $\endgroup$
    – Noah Ren
    Mar 28 '20 at 5:35
  • $\begingroup$ Then mu1 is missing. $\endgroup$
    – xzczd
    Mar 28 '20 at 5:54
  • $\begingroup$ Sorry again. my mistake. $\endgroup$
    – Noah Ren
    Mar 28 '20 at 6:19
2
$\begingroup$

I have been working on it for a while. The dispersion relation is just as definition Kb-w or w-Kb. So with the definition above for Kb, Bloch wave. In the part we only consider the normal incident wave so k1=k1z k2=k2z where z is the direction of propagation.

Just use plot for this part.

Plot[Re[Kb] /. {kx -> 0}, {w, 0, 10^8}, AxesLabel -> {"\[Omega]", "Kb"}, PlotLabel -> "Q3b, Dispersion Relation"]

enter image description here

For the band-gap plot, we can no longer use the expression of k1 and k2 like this. We need to use the general expression as k1 = (mu1*e1*w^2 - kx^2)^0.5; k2 = (mu2*e2*w^2 - kx^2)^0.5; so k1 and k2 is on the z-direction (the direction of propagation). So the trace of transfer matrix Tr(T) has two parameters. Then with the RegionPlot and condition of Tr(T)>2 we plot the gaps of the dispersion relation.

RegionPlot[Re[Tr[T]] > 2, {kx, 0, 10^8}, {w, 0, 10^8}, AxesLabel -> {"kx", "\[Omega]"}, PlotLabel -> "Tr[T]>2"]

enter image description here

Both of the plot reflect the relation of Bloch wavenumber and frequency of the wave. That is all we want.

$\endgroup$
2
  • $\begingroup$ In 2nd plot, adding PlotPoints->50 should improve the result. $\endgroup$
    – xzczd
    Mar 30 '20 at 11:23
  • $\begingroup$ Thanks, I try it, it is really help. $\endgroup$
    – Noah Ren
    Apr 2 '20 at 7:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.