5
Double-interface lossless modes in (Subscript[ϵ, r])'-(Subscript[μ, r])' parameter space

If the reader wishes to regenerate all of the graphs in this chapter or to selectively regenerate certain figures with perhaps different parameter ranges, the first step is to evaluate the notebook by selecting "Evaluate Notebook" under the "Evaluation" menu bar in Mathematica.  If Mathematica asks "Do you want to automatically evaluate all the initialization cells in the notebook?" it is sufficient to answer "No."  After the code has completed running, all of the figures and tables in the text will have been regenerated.  To regraph a specific figure, the Code section should then be expanded by double clicking on the down arrow of the rightmost bracket.  This will display further subsections like "Mathematica Preparation."  These subsections should in turn be expanded in the same manner as necessary to locate the input code for the figure of interest.  Each table or figure is generated by a code input line such as this one for Fig. 4:
Fig4=Fig500nm=Show[GraphicsGrid[
{{ggg[[1]],ggg[[2]]},
{ggg[[3]],ggg[[4]]},
{ggg[[5]],ggg[[6]]},
{ggg[[7]],ggg[[8]]}},
ImageSize->1.2{450,500},
Frame->True,
Spacings->{-70,20}]]
Once the code line has been located for the figure of interest, the specific parameters in the input line can be adjusted as desired, the line selected by clicking once on the right bracket, and the new figure generated by hitting "Shift-Return" or just "Enter" for an extended keyboard.
This notebook also contains three other sections with all of the tables in the text, all the figures in the text, and all the chapter exercises.  Each section can, as usual, be opened by double clicking on the down arrow of the right bracket.

Code

Mathematica Preparation

Clearing

ClearAll["Global`*"]
Off[General::"spell",General::"spell1"]

Packages

Needs["PlotLegends`"];

Units

yocto=(10.^(-24));
zepto=(10.^(-21));
atto=(10.^(-18));
femto=(10.^(-15));
pico=(10.^(-12));
nano=(10.^(-9));
micro=(10.^(-6));
milli=(10.^(-3));
kilo=(10.^3);
mega=(10.^6);
giga=(10.^9);
tera=(10.^12);
peta=(10.^15);
exa=(10.^18);
zetta=(10.^21);
yotta=(10.^24);

Physical constants

NSub={
c->2.99792458 (10^8) ,
e->1.6021773 (10^(-19)),
h->6.6260755 (10^(-34)),
ℏ->1.05457 (10^(-34)),
K->1.380658 (10^(-23)),
me->9.109389 (10^(-31)),
μ0->4 π (10^(-7)),
ϵ0->8.85419 (10^(-12))
};

Plotting

Graphics Styles

fs=12;(*FontSize for LabelStyle*)
fs1=1.1fs;(*FontSize for LabelStyle*)
fs2=1.2fs;(*FontSize for LabelStyle*)
is={350,200};(*ImageSize for one figure*)
gr={400,150};(*ImageSize for GraphicsRow*)
gr2={480,180};(*ImageSize for GraphicsRow*)
gg={400,300};(*ImageSize for GraphicsGrid*)
gs=-30; (*GrapicsSpacing for two figures*)
ggs={-20,20};(*GrapicsSpacing for four figures*)
thick=Thickness[0.007]; (*Thickness of lines*)

Graphics option: optX

optX={
GridLines -> Automatic,
Frame -> True,
ImageSize->is,
PlotRange->All,
LabelStyle -> {FontSize -> fs},
PlotStyle->{
{Black,thick},
{Black,thick,Dashing[{0.06,0.02}]},
{Black,thick,Dashing[{0.02,0.01}]},
{Black,thick,DotDashed},
{Black,thick, Dashing[{0.04, 0.01}]},
{Black,thick,Dashing[{0.04, 0.03}]}}};

Outline

TableAll=Grid[{
{"Item","Topic","Chapter 3", "Chapter 4","Chapter 5","Chapter 6","Chapter 7"},
{"1","Interfaces","1","1","2","1","2"},
{"2","Types","ENG,DNG","DPS,ENG,DNG,MNG","DPS,ENG,DNG,MNG","ENG","ENG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","complex","real","real","complex","complex"},
{"4","Dispersion","yes","no","no","no","no"},
{"5","Free β","yes","yes","yes","yes","yes"},
{"6","Loaded β","yes","no","no","yes","yes"},
{"7","Configuration","O,K","free","free","O,K","G"},
{"8","ℛ","yes","no","no","yes","yes"},
{"9","G-H","yes","no","no","no","no"},
{"10","E and H","no","yes","yes","yes","yes"},
{"11","(Subscript[s, z])","no","yes","yes","yes","yes"},
{"12","(Subscript[s, x])","no","no","no","yes","yes"},
{"13","η","yes","no","no","yes","yes"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","yes","no","no","no","no"},
{"15","Charge density","no","no","no","yes","yes"}},
Dividers->All,
ItemStyle->.9{fs,fs}]

TableChapter3=Grid[{
{"Item","Topic","Chapter 3"},
{"1","Interfaces","1"},
{"2","Types","ENG,DNG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","complex"},
{"4","Dispersion","yes"},
{"5","Free β","yes"},
{"6","Loaded β","yes"},
{"7","Configuration","O,K"},
{"8","ℛ","yes"},
{"9","G-H","yes"},
{"10","E and H","no"},
{"11","(Subscript[s, z])","no"},
{"12","(Subscript[s, x])","no"},
{"13","η","yes"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","yes"},
{"15","Charge density","no"}},
Dividers->All,
ItemStyle->{fs,fs}]

TableChapter4=Grid[{
{"Item","Topic", "Chapter 4"},
{"1","Interfaces","1"},
{"2","Types","DPS,ENG,DNG,MNG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","real"},
{"4","Dispersion","no"},
{"5","Free β","yes"},
{"6","Loaded β","no"},
{"7","Configuration","free"},
{"8","ℛ","no"},
{"9","G-H","no"},
{"10","E and H","yes"},
{"11","(Subscript[s, z])","yes"},
{"12","(Subscript[s, x])","no"},
{"13","η","no"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","no"},
{"15","Charge density","no"}},
Dividers->All,
ItemStyle->{fs,fs}]

TableChapter5=Grid[{
{"Item","Topic","Chapter 5"},
{"1","Interfaces","2"},
{"2","Types","DPS,ENG,DNG,MNG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","real"},
{"4","Dispersion","no"},
{"5","Free β","yes"},
{"6","Loaded β","no"},
{"7","Configuration","free"},
{"8","ℛ","no"},
{"9","G-H","no"},
{"10","E and H","yes"},
{"11","(Subscript[s, z])","yes"},
{"12","(Subscript[s, x])","no"},
{"13","η","no"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","no"},
{"15","Charge density","no"}},
Dividers->All,
ItemStyle->{fs,fs}]

TableChapter6=Grid[{
{"Item","Topic","Chapter 6"},
{"1","Interfaces","1"},
{"2","Types","ENG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","complex"},
{"4","Dispersion","no"},
{"5","Free β","yes"},
{"6","Loaded β","yes"},
{"7","Configuration","O,K"},
{"8","ℛ","yes"},
{"9","G-H","no"},
{"10","E and H","yes"},
{"11","(Subscript[s, z])","yes"},
{"12","(Subscript[s, x])","yes"},
{"13","η","yes"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","no"},
{"15","Charge density","yes"}},
Dividers->All,
ItemStyle->{fs,fs}]

TableChapter7=Grid[{
{"Item","Topic","Chapter 7"},
{"1","Interfaces","2"},
{"2","Types","ENG"},
{"3","(Subscript[ϵ, r]),(Subscript[μ, r])","complex"},
{"4","Dispersion","no"},
{"5","Free β","yes"},
{"6","Loaded β","yes"},
{"7","Configuration","G"},
{"8","ℛ","yes",""},
{"9","G-H","no"},
{"10","E and H","yes"},
{"11","(Subscript[s, z])","yes"},
{"12","(Subscript[s, x])","yes"},
{"13","η","yes"},
{"14","(Subscript[v, ph]) and (Subscript[v, group])","no"},
{"15","Charge density","yes"}},
Dividers->All,
ItemStyle->{fs,fs}]

ϵ-μ parameter space

fsx=.9 fs;
psx=1.4;
Clear[FigTypeB1,first,second,rs,rc,ϕs,ϕc]
FigTypeB1:=Function[{first,second,rs,rc,ϕs,ϕc},
{rr:=Max[rs,rc],
Show[Graphics[{
RGBColor[0,0,0],Opacity[0.2],Disk[{0,0},rr,{0,π/2}],
RGBColor[0,0,0],Opacity[0.3],Disk[{0,0},rr,{π/2,π}],
RGBColor[0,0,0],Opacity[0.4],Disk[{0,0},rr,{π,3π/2}],
RGBColor[0,0,0],Opacity[0.5],Disk[{0,0},rr,{3π/2,2π}],
Black,Arrow[{{0,0},{rs Cos[ϕs],rs Sin[ϕs]}}],
Black,Circle[{0,0},rs/2.2,{0,ϕs}],
Black,Circle[{0,0},rc/2,{0,ϕc}],
Black,Arrow[{{0,0},{rc Cos[ϕc],rc Sin[ϕc]}}]},
LabelStyle -> {FontSize -> fs},
FrameTicks->Automatic,
Frame->True,
PlotRange->{{-1.5 rr,1.5 rr},{-1.5 rr,1.5 rr}},
GridLines->None,
ImageSize->is],
FrameLabel->{"(Subscript[ϵ, r])'","(Subscript[μ, r])'",StringJoin["(Subscript[r, s]) = ",ToString[rs]," "],StringJoin["(Subscript[r, c]) = ",ToString[rc]," "]},
Epilog->{
{RGBColor[0,0,0],Text[
Style["DPS",fsx],psx{.9rr Cos[tt],1.15rr Sin[tt]}/.tt->π/4]},
{RGBColor[0,0,0],Text[
Style["ENG",fsx],psx{.9rr Cos[tt],1.15rr Sin[tt]}/.tt->π-π/4]},
{RGBColor[0,0,0],Text[
Style["DNG",fsx],psx{.9rr Cos[tt],1.15rr Sin[tt]}/.tt->π+π/4]},
{RGBColor[0,0,0],Text[
Style["MNG",fsx],psx{.9rr Cos[tt],1.15rr Sin[tt]}/.tt->2π-π/4]},
{RGBColor[0,0,0],Text[
Style[first,1.2fsx],1.2{rs Cos[ϕs],rs Sin[ϕs]}]},
{RGBColor[0,0,0],Text[
Style[second,1.2fsx],1.2{rc Cos[ϕc],rc Sin[ϕc]}]}},AspectRatio->1]}]

FigTypeB1["(Subscript[ϕ, s])","(Subscript[ϕ, c])",2,2,.25π,π-.25π][[2]]

Cover and guide parameters

ϵc=(1.5^2);μc=1;nc=(Sqrt[ϵc])(Sqrt[ μc]);
ϵg=(1.75^2);μg=2;ng=(Sqrt[μg]) (Sqrt[ϵg]);
λ=.6328 micro;
ω=2π c/λ/.NSub;
k=2π /λ;

Radius and angle with the ϵ - μ parameter space

(Subscript[r, c])=(Sqrt[((Subscript[ϵ, c])^2)+((Subscript[μ, cg])^2)])

rc:=(Sqrt[((ϵc)^2)+((μc)^2)])

(Subscript[ϕ, c])=(cos^(-1))(((Subscript[ϵ, c])/(Subscript[r, c])))

ϕc:=ArcCos[ϵc/rc]

(Subscript[r, g])=(Sqrt[((Subscript[ϵ, g])^2)+((Subscript[μ, g])^2)])

rg:=(Sqrt[((ϵg)^2)+((μg)^2)])

(Subscript[ϕ, g])=(cos^(-1))(((Subscript[ϵ, g])/(Subscript[r, g])))

ϕ:=ϕg=ArcCos[ϵg/rg]

ϕg:=ArcCos[ϵg/rg]

Fig3=GraphicsGrid[{
{FigTypeB1["(Subscript[ϕ, g])","(Subscript[ϕ, c])",rg,rc,ϕg,ϕc][[2]],
FigTypeB1["(Subscript[ϕ, g])","(Subscript[ϕ, c])",rg,rc,π-ϕg,ϕc][[2]]},
{FigTypeB1["(Subscript[ϕ, g])","(Subscript[ϕ, c])",rg,rc,π+ϕg,ϕg][[2]],
FigTypeB1["(Subscript[ϕ, g])","(Subscript[ϕ, c])",rg,rc,2π-ϕg,ϕg][[2]]}},
Frame->True,
Spacings->{-100,10},
ImageSize->1.2{400,300}]

Table of all parameters

Clear[t]
Table2=Chop[Grid[{
{"Medium","","(Subscript[ϵ, i])","(Subscript[μ, i])","(Subscript[n, i])"},
{"Cover","c",ϵc,μc,(Sqrt[ϵc])(Sqrt[μc])},
{"Guide","g",rg Cos[t],rg Sin[t],rg (Sqrt[Sin[t]])(Sqrt[Cos[t]])}/.t->ϕ,
{"Substrate","s",ϵc,μc,(Sqrt[ϵc])(Sqrt[μc])}},Dividers->All,
ItemStyle->{fs,fs}]]

Clear[t]
Table3=Grid[{
{"Medium","Type","(Subscript[r, i])","(Subscript[ϕ, i])(deg)"},
{"Cover","DPS",rc,180/π ϕc},
{"Guide","DPS",rg,180/π t}/.t->ϕ,
{"Guide","ENG",rg,180/π t}/.t->π-ϕ,
{"Guide","DNG",rg,180/π t}/.t->π+ϕ,
{"Guide","MNG",rg,180/π t}/.t->2π-ϕ,
{"Substrate","DPS",rc,180/π ϕc}},Dividers->All,
ItemStyle->{fs,fs}]

Definition of ρ

ρ≡((((1/2)k (Subscript[d, g])))^2)((Subscript[ϵ, g])(Subscript[μ, g])-(Subscript[ϵ, c]) (Subscript[μ, c])),

Clear[ρx]
ρx[d_,t_]:=((((1/2)k d))^2)((rg^(2 ))Sin[t] Cos[t]-ϵc μc)

Critical (Subscript[d, g]) in DNG guide

(Subscript[d, cr])=((2 (Subscript[μ, c]))/(k |(Subscript[μ, g])| (Sqrt[(Subscript[ϵ, g]) (Subscript[μ, g])-(Subscript[ϵ, c]) (Subscript[μ, c])])));

dcr=(2/k)((μc)/(Abs[μg]))(1/(Sqrt[ϵg μg-ϵc μc]));

Table4=Grid[{
{"","Thin","(Subscript[d, cr])","Thick"},
{"(Subscript[d, g])(nm)",25,dcr/nano,500}},Dividers->All,
ItemStyle->{fs,fs}]

Defining range of plotting

DPSEvenThick:={θ,0+micro,Min[π/2,(Sqrt[Abs[ρx[dg,t]]])]-micro}
DPSOddThick:={θ,π/2+micro,Min[π,(Sqrt[Abs[ρx[dg,t]]])]-micro}
DNGEvenThick:={θ,π/2+micro,Min[π,(Sqrt[Abs[ρx[dg,t]]])]-micro}
DNGOddThick:={θ,π+micro,Min[3π/2,(Sqrt[Abs[ρx[dg,t]]])]-micro}
DPSEvenThin:={θ,0+micro,(Sqrt[Abs[ρx[dg,t]]])-micro}
DNGOddThin:={θ,-5(Sqrt[Abs[ρx[dg,t]]])+micro,-micro}
ENGEvenThin:={θ,-5(Sqrt[Abs[ρx[dg,t]]])+micro,-(Sqrt[Abs[ρx[dg,t]]])-micro}
ENGOddThin:={θ,-5(Sqrt[Abs[ρx[dg,t]]])+micro,-(Sqrt[Abs[ρx[dg,t]]])-micro}
MNGEvenThin:={θ,-5(Sqrt[Abs[ρx[dg,t]]])+micro,-(Sqrt[Abs[ρx[dg,t]]])-micro}
MNGOddThin:={θ,-5(Sqrt[Abs[ρx[dg,t]]])+micro,-(Sqrt[Abs[ρx[dg,t]]])-micro}

range:=Which[
type=="DPS"&&symmetry=="Even"&&dg>dcr,DPSEvenThick,
type=="DPS"&&symmetry=="Odd"&&dg>dcr,DPSOddThick,
type=="DNG"&&symmetry=="Even"&&dg>dcr,DNGEvenThick,
type=="DNG"&&symmetry=="Odd"&&dg>dcr,DNGOddThick,
type=="DPS"&&symmetry=="Even"&&dg<dcr,DPSEvenThin,
type=="DNG"&&symmetry=="Odd"&&dg<dcr,DNGOddThin,
type=="ENG"&&symmetry=="Even"&&dg<dcr,ENGOddThin,
type=="ENG"&&symmetry=="Odd"&&dg<dcr,ENGOddThin,
type=="MNG"&&symmetry=="Even"&&dg<dcr,MNGOddThin,
type=="MNG"&&symmetry=="Odd"&&dg<dcr,MNGOddThin]

Defining a system {m,s,t}

Clear[u]
u:=If[type=="ENG"||type=="MNG"||(type=="DNG"&&dg==25 nano),1,0]

Mode

Clear[m,mode]
m:=If[mode=="TE",0,1]

Tablem=TableForm[{
{"","TE","TM"},
{"m",0,1}},TableSpacing->1]

Symmetry

Clear[s,symmtry]
s:=If[symmetry=="Even",1,-1]

Tables=Grid[{
{"","Even","Odd"},
{"s",1,-1}},Dividers->All,
ItemStyle->{fs,fs}]

Type

Clear[t,type]
t:=Which[
type=="DPS",ϕ,
type=="DNG",π+ϕ,
type=="ENG",π-ϕ,
type=="MNG",2π-ϕ]

Clear[sys]
sys={
{"DPS","TE","Even",500 nano},
{"DPS","TE","Odd",500 nano},
{"DPS","TM","Even",500 nano},
{"DPS","TM","Odd",500 nano},

{"DNG","TE","Even",500 nano},
{"DNG","TE","Odd",500 nano},
{"DNG","TM","Even",500 nano},
{"DNG","TM","Odd",500 nano},

{"ENG","TM","Even",25 nano},
{"ENG","TM","Odd",25 nano},
{"MNG","TE","Even",25 nano},
{"MNG","TE","Odd",25 nano},

{"DPS","TE","Even",25 nano},
{"DPS","TM","Even",25 nano},
{"DNG","TE","Odd",25 nano},
{"DNG","TM","Odd",25 nano}};

Table5=Grid[{
{"Case","Type","Mode","Symmetry","(Subscript[d, g])(nm)"},
{"","","","",""},
{1,"DPS","TE","Even",500},
{2,"DPS","TE","Odd",500},
{3,"DPS","TM","Even",500},
{4,"DPS","TM","Odd",500},
{"","","","",""},
{5,"DNG","TE","Even",500},
{6,"DNG","TE","Odd",500},
{7,"DNG","TM","Even",500},
{8,"DNG","TM","Odd",500},
{"","","","",""},
{9,"ENG","TM","Even",25},
{10,"ENG","TM","Odd",25},
{11,"MNG","TE","Even",25},
{12,"MNG","TE","Odd",25},
{"","","","",""},
{13,"DPS","TE","Even",25},
{14,"DPS","TM","Even",25 },
{15,"DNG","TE","Odd",25},
{16,"DNG","TM","Odd",25}},
Dividers->All,
ItemStyle->{fs,fs}]

Clear[g]
g[i_]:={type,mode,symmetry,dg}=sys[[i]]

General mode solutions

Clear[fun];
fs1=.75fs;
fun:=Function[{t,m,s,dg},
{ymin=-micro;
ymax=5;
FigR=Plot[{-.1 u+(1-u)(Sqrt[ρx[dg,t]-(θ^2)]),-.1 u+(1-u)s((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tan[θ])^s)},{θ,0,(Sqrt[Abs[ρx[dg,t]]])},
LabelStyle->{FontSize -> fs},FrameLabel->{"← k κ'' (Subscript[d, g])/2 ◆ k κ' (Subscript[d, g])/2 →","k δ (Subscript[d, g])/2",Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[ dg/nano],"nm"]},PlotRange->{ymin,ymax},LabelStyle->{FontSize -> fs1},Evaluate[optX],DisplayFunction->Identity];
FigL=Plot[{(Sqrt[ρx[dg,t]+(θ^2)]),-((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tanh[θ])^s)},{θ,-5(Sqrt[Abs[ρx[dg,t]]]),-u(Sqrt[Abs[ρx[dg,t]]])},Evaluate[optX],DisplayFunction->Identity];
FigRL=Show[{FigR,FigL}],
κκ:=If[range[[2]]>0,FindRoot[(Sqrt[ρx[dg,t]-(θ^2)])==s((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tan[θ])^s),range][[1,2]],
FindRoot[(Sqrt[ρx[dg,t]+(θ^2)])==-((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tanh[θ])^s),range][[1,2]]],
κ=If[range[[2]]>0,κκ/(k dg/2),  κκ/(I k dg/2)];
β=(Sqrt[(rg^(2 ))Sin[t] Cos[t]-(κ^2)]);
δ=(Sqrt[(rg^2)Sin[t] Cos[t]-ϵc μc-(κ^2)]);
TableXX=TableForm[{
{"System","(Subscript[d, g])(nm)","β","κ","δ"},
{Join[{type},{mode},{symmetry}],dg/nano,β,κ,δ}},TableSpacing->.5];
ymin=-.01;
ymax=5;
FigR=Plot[{-.1 u+(1-u)(Sqrt[ρx[dg,t]-(θ^2)]),-.1 u+(1-u)s((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tan[θ])^s)},{θ,0,(Sqrt[Abs[ρx[dg,t]]])},
LabelStyle->{FontSize -> fs},FrameLabel->{"← k κ'' (Subscript[d, g])/2 ◆ k κ' (Subscript[d, g])/2 →","k δ (Subscript[d, g])/2",Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[ dg/nano],"nm"]},PlotRange->{{-5/2κκ,5/2κκ},{0,5/2k δ dg/2}},LabelStyle->{FontSize -> fs1},Evaluate[optX],DisplayFunction->Identity,
Epilog->
{RGBColor[0,0,0],
Text[
"●",{κκ,(Sqrt[ρx[dg,t]+(2u-1)((κκ)^2)])}],
RGBColor[0,0,0],
Text[
StringJoin["β = ",ToString[β]," "],{0κκ,2(Sqrt[ρx[dg,t]+(2u-1)((κκ)^2)])}],
Text[
StringJoin["κ = ",ToString[κ]," "],{0κκ,1.7(Sqrt[ρx[dg,t]+(2u-1)((κκ)^2)])}],
Text[
StringJoin["δ = γ = ",ToString[δ]," "],{0κκ,1.4(Sqrt[ρx[dg,t]+(2u-1)((κκ)^2)])}]}];
FigL=Plot[{(Sqrt[ρx[dg,t]+(θ^2)]),-((((ϵc)^m)((μc)^((1-m))))/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))θ ((Tanh[θ])^s)},{θ,-5(Sqrt[Abs[ρx[dg,t]]]),-u(Sqrt[Abs[ρx[dg,t]]])},Evaluate[optX],DisplayFunction->Identity];
FigRL=Show[{FigR,FigL},ImageSize->{300,150},DisplayFunction->$DisplayFunction]}]

General mode results

ggg=Table[{g[i],fun[t,m,s,dg][[3]]}[[2]],{i,1,16,1}];

Fig4=Fig500nm=Show[GraphicsGrid[
{{ggg[[1]],ggg[[2]]},
{ggg[[3]],ggg[[4]]},
{ggg[[5]],ggg[[6]]},
{ggg[[7]],ggg[[8]]}},
ImageSize->1.2{450,500},
Frame->True,
Spacings->{-70,20}]]

Fig5=Fig25nm=Show[GraphicsGrid[
{{ggg[[13]],ggg[[14]]},
{ggg[[15]],ggg[[16]]},
{ggg[[9]],ggg[[10]]},
{ggg[[11]],ggg[[12]]}},
ImageSize->1.2{450,500},
Frame->True,
Spacings->{-70,20}]]

Fields and Poynting vectors: New

{g[5],fun[t,m,s,dg][[3]]}[[1]]

(Subscript[E, y]) TE

(Subscript[E, y])(x)=(({{x≥0, (e^(-k δ x))}, {x<0∧x>-(Subscript[d, g]), cos(k κ x)-(δ/κ) ((Subscript[μ, g])/(Subscript[μ, c]))sin(k κ x)}, {x≤-(Subscript[d, g]),  [cos(k κ (Subscript[d, g]))+(δ/κ)((Subscript[μ, g])/(Subscript[μ, c])) sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[EyTE]
EyTE[x_]:=(1-m) Which[
x≥0,(E^(-k δ x)),
x<0&&x>-dg,Cos[k κ x]-(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Sin[k κ x],
x≤-dg,(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ReEyTE=Table[{x,Re[EyTE[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigReEyTE=ListPlot[ReEyTE,Joined->True,
ImageSize->is,
Filling -> Axis,
FillingStyle ->  Opacity[0.2],
Evaluate[optX]]

(Subscript[H, x]) TE

(Subscript[H, x])(x)=-((k β)/(ω (Subscript[μ, 0])))(({{x≥0, (1/(Subscript[μ, c]))(e^(-k δ x))}, {x<0∧x>-(Subscript[d, g]), (1/(Subscript[μ, g]))[cos(k κ x)-(δ/κ) ((Subscript[μ, g])/(Subscript[μ, c]))sin(k κ x)]}, {x≤-(Subscript[d, g]), (1/(Subscript[μ, s])) [A cos(k κ (Subscript[d, g]))+(δ/κ) ((Subscript[μ, g])/(Subscript[μ, c]))sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[HxTE]
HxTE[x_]:=-((k β)/(ω μ0))(1-m) Which[
x≥0,(1/(μc))(E^(-k δ x)),
x<0&&x>-dg,(1/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))(Cos[k κ x]-(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Sin[k κ x]),
x≤-dg,(1/(μc))(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ReHxTE=Table[{x,Re[HxTE[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigReHxTE=ListPlot[ReHxTE,Joined->True,ImageSize->is,Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
Evaluate[optX]]

(Subscript[H, z]) TE

(Subscript[H, z])(x)=-((i k)/(ω (Subscript[μ, 0])))(({{x≥0, -(1/(Subscript[μ, c]))δ (e^(-k δ x))}, {x<0∧x>-(Subscript[d, g]), (1/(Subscript[μ, g]))κ [-sin(k κ x)-((δ/)/κ) ((Subscript[μ, g])/(Subscript[μ, c]))cos(k κ x)]}, {x≤-(Subscript[d, g]), (1/(Subscript[μ, s]))γ [cos(k κ (Subscript[d, g]))+(δ/κ) ((Subscript[μ, g])/(Subscript[μ, c]))sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[HzTE]
HzTE[x_]:=((-I k)/(ω μ0))(1-m) Which[
x≥0,-(δ/(μc)) (E^(-k δ x)),
x<0&&x>-dg,-(κ/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))(Sin[k κ x]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Cos[k κ x]),
x≤-dg,(δ/(μc))(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(μc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ImHzTE=Table[{x,Im[HzTE[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigImHzTE=ListPlot[ImHzTE,Joined->True,ImageSize->is,Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,Evaluate[optX]]

(Subscript[H, y]) TM

(Subscript[H, y])(x)=C(({{x≥0, (e^(-k δ x))}, {x<0∧x>-(Subscript[d, g]), cos(k κ x)-(δ/κ) ((Subscript[ϵ, g])/(Subscript[ϵ, c]))sin(k κ x)}, {x≤-(Subscript[d, g]),  [cos(k κ (Subscript[d, g]))+(δ/κ)((Subscript[ϵ, g])/(Subscript[ϵ, c]))sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[HyTM]
HyTM[x_]:=m Which[
x≥0,(E^(-k δ x)),
x<0&&x>-dg,Cos[k κ x]-(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Sin[k κ x],
x≤-dg,(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ReHyTM=Table[{x,Re[HyTM[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigReHyTM=ListPlot[ReHyTM,Joined->True,ImageSize->is,Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,Evaluate[optX]]

(Subscript[E, x]) TM

(Subscript[E, x])(x)=B(( k β)/(ω (Subscript[ϵ, 0]))) (({{x≥0}, {x-(Subscript[d, g])<x<0}, {x≤-(Subscript[d, g])}}) ({{(1/(Subscript[ϵ, c]))(e^(-k δ x))}, {(1/(Subscript[ϵ, g]))[cos(κ x)-(δ/κ) ((Subscript[ϵ, g])/(Subscript[ϵ, c]))sin(k κ x)]}, {(1/(Subscript[ϵ, s])) [cos(k κ (Subscript[d, g]))+(δ/κ)((Subscript[ϵ, g])/(Subscript[ϵ, c])) sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[ExTM]
ExTM[x_]:=m ((k β)/(ω ϵ0))Which[
x≥0,(1/(ϵc))(E^(-k δ x)),
x<0&&x>-dg,(1/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))(Cos[k κ x]-(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Sin[k κ x]),
x≤-dg,(1/(ϵc))(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ReExTM=Table[{x,Re[ExTM[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigReExTM=ListPlot[ReExTM,Joined->True,ImageSize->is,Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,Evaluate[optX]]

(Subscript[E, z]) TM

(Subscript[E, z])(x)=((i k)/(ω (Subscript[ϵ, 0])))C(({{x≥0, -(δ/(Subscript[ϵ, c])) (e^(-k δ x))}, {x<0∧x>-(Subscript[d, g]), (κ/(Subscript[ϵ, g])) [-sin(k κ x)-(δ/κ) ((Subscript[ϵ, g])/(Subscript[ϵ, c]))cos(k κ x)]}, {x≤-(Subscript[d, g]), (γ/(Subscript[ϵ, s])) [cos (k κ (Subscript[d, g]))+(δ/κ) ((Subscript[ϵ, g])/(Subscript[ϵ, c]))sin(k κ (Subscript[d, g]))](e^(k γ((Subscript[d, g])+x) ))}}))

Clear[EzTM]
EzTM[x_]:=m ((I k)/(ω ϵ0))Which[
x≥0,-(δ/(ϵc))(E^(-k δ x)),
x<0&&x>-dg,-(κ/(rg ((Cos[t])^m)((Sin[t])^((1-m)))))(Sin[k κ x]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Cos[k κ x]),
x≤-dg,(δ/(ϵc))(Cos[k κ dg]+(δ/κ)((rg ((Cos[t])^m)((Sin[t])^((1-m))))/(ϵc))Sin[k κ dg])(E^(k δ(x+dg)))]/.NSub

ImEzTM=Table[{x,Im[EzTM[x nano]]},{x,-1.5dg/nano,.5dg/nano,dg/nano/200}];
FigImEzTM=ListPlot[ImEzTM,Joined->True,ImageSize->is,Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,Evaluate[optX]]

GraphicsGrid[{
{FigReEyTE,FigReHxTE,FigImHzTE},
{FigReHyTM,FigReExTM,FigImEzTM}},
ImageSize->{500,250},
Frame->True,Spacings->0]

Normalization

(A^(-2))=.5 (∫_(-∞)^∞)[ (Subscript[H, y,TM])(x) (Subscript[E, x,TM])(x)-(Subscript[E, y,TE])(x) (Subscript[H, x,TE])(x)] dx

Clear[A0]
A0:=
(((Abs[NIntegrate[-.5EyTE[x] HxTE[x]+.5HyTM[x] ExTM[x],{x,-11 dg,10dg}]]))^(-.5))

A=A0;

{EyTE[x], HxTE[x]}/.x->dg/2
NIntegrate[-.5EyTE[x] HxTE[x],{x,-11 dg,10dg}]

Choose type, mode, symmetry and guide thickness

{g[1];fun[t,m,s,dg][[3]]}[[1]]

(Subscript[E, y]) TE and (Subscript[H, y]) TM

EyHy:=If[mode=="TE","(Subscript[E, y])' [(10^6) V/m]","(Subscript[H, y])' [\!\(\*SuperscriptBox[\(10\), \(\(3\)\(\\ \)\)]\)A/m]"]

β

Clear[Fy]
Fy[x_]:= Which[
m==0,A EyTE[x],
m==1,A HyTM[x]]

Clear[dd]
dd:=If[m==0,micro,milli]

Clear[dx]
dx:=If[dg/nano==500,300,300];
max=Max[Table[Fy[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Fy[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigFy=Plot[Fy[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)",EyHy,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},
Evaluate[optX],
Epilog->
{RGBColor[0,0,0],
Text[
Style["β = ",ToString[β]," "],{0,.9 Abs[maxmin]}],
Text[
Style["κ = ",ToString[κ]," "],{0,.7 Abs[maxmin]}],
Text[
Style["δ = ",ToString[δ]," "],{0,.5 Abs[maxmin]}]}]

(Subscript[H, x]) TE and (Subscript[E, x]) TM

HxEx:=If[mode=="TE","(Subscript[H, x])' ((10^3) A/m)","(Subscript[E, x])' (\!\(\*SuperscriptBox[\(10\), \(\(6\)\(\\ \)\)]\)V/m)"]

β

Clear[Gy]
Gx[x_]:= Which[
m==0,A HxTE[x],
m==1,A ExTM[x]]

Clear[dx]
dd:=If[m==0,milli,micro]

Clear[dx]
dx:=If[dg/nano==500,300,300];
max=Max[Table[Gx[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Gx[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigGx=Plot[Gx[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)",HxEx,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},
Evaluate[optX],
Epilog->
{RGBColor[0,0,0],
Text[
StringJoin["β = ",ToString[β]," "],{0,.9 Abs[maxmin]}],
Text[
StringJoin["κ = ",ToString[κ]," "],{0,.7 Abs[maxmin]}],
Text[
StringJoin["δ = ",ToString[δ]," "],{0,.5 Abs[maxmin]}]}]

FigFyGx=GraphicsRow[{FigFy,FigGx},
ImageSize->gr,
Spacings->0]

(Subscript[H, z]) TE and (Subscript[E, z]) TM

HzEz:=If[mode=="TE","(Subscript[H, z])'' [(10^3) A/m]","(Subscript[E, z])'' [\!\(\*SuperscriptBox[\(10\), \(\(6\)\(\\ \)\)]\)V/m]"]

Clear[Pz]
Pz[x_]:= Which[
m==0,A HzTE[x],
m==1,A EzTM[x]]

Clear[Pz1]
Pz1[x_]:=Im[Pz[x]]

Clear[dd]
dd:=If[m==0,milli,micro]

Clear[dx]
dx:=If[dg/nano==500,300,300];

max=Max[Table[Pz1[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Pz1[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigPz=Plot[Pz1[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},FrameLabel->{"x (nm)",HzEz,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},
Evaluate[optX],
Epilog->
{RGBColor[0,0,0],
Text[
StringJoin["β = ",ToString[β]," "],{0,.9 Abs[maxmin]}],
Text[
StringJoin["κ = ",ToString[κ]," "],{0,.7 Abs[maxmin]}],
Text[
StringJoin["δ = ",ToString[δ]," "],{0,.5 Abs[maxmin]}]}]

(Subscript[s, z]) TE and TM

(Subscript[s, z])(x)=.5(A^2) [ (Subscript[H, y,TM])(x) (Subscript[E, x,TM])(x)-(Subscript[E, y,TE])(x) (Subscript[H, x,TE])(x)]

Clear[sz]
sz[x_]:= (A^2) (-.5EyTE[x] HxTE[x]+.5HyTM[x] ExTM[x])

Clear[dd]
dd:=milli micro

Clear[dx]
dx:=If[dg/nano==500,300,300];
max=Max[Table[sz[x nano-dg/2]dd,{x,-dx,dx,dx/1000}]];
min=Min[Table[sz[x nano-dg/2]dd,{x,-dx,dx,dx/1000}]];
maxmin=If[Abs[min]>Abs[max],min,max];

Figsz=Plot[sz[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)","(Subscript[s, z]) ((10^9) W/(m^2))",Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},
Evaluate[optX],
Epilog->
{RGBColor[0,0,0],
Text[
StringJoin["β = ",ToString[β]," "],{0,.9 Abs[maxmin]}],
Text[
StringJoin["κ = ",ToString[κ]," "],{0,.7 Abs[maxmin]}],
Text[
StringJoin["δ = ",ToString[δ]," "],{0,.5 Abs[maxmin]}]}]

FigFyGxPz

FigFyGxPz=GraphicsGrid[{
{FigFy,FigGx},
{FigPz,Figsz}},
ImageSize->gg,
Frame->True,
Spacings->{-20,20}]

Automatic Field results: New

The function gun

dxx=200;
xx=-180+20;
fs1=fs;
Clear[gun];
gun:=Function[{t,m,s,dg},
{A=A0;

EyHy:=If[mode=="TE","(Subscript[E, y])' ((10^3) V/m)","(Subscript[H, y])' ((10^3) A/m)"];
Clear[Fy];
Fy[x_]:= Which[
m==0,A EyTE[x],
m==1,A HyTM[x]];
Clear[dd];
dd:=If[m==0,milli,milli];
Clear[dx];
dx:=If[dg/nano==500,dxx,dxx];
max=Max[Table[Fy[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Fy[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigFy=Plot[Fy[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)",EyHy,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,PlotRange->{-1.1maxmin,1.1maxmin},LabelStyle->{FontSize -> fs1},Evaluate[optX]],

HxEx:=If[mode=="TE","(Subscript[H, x])' (\!\(\*SuperscriptBox[\(10\), \(\(3\)\(\\ \)\)]\)A/m)","(Subscript[E, x])' (\!\(\*SuperscriptBox[\(10\), \(\(3\)\(\\ \)\)]\)V/m)"];
Clear[Gy];
Gx[x_]:= Which[
m==0,A HxTE[x],
m==1,A ExTM[x]];
Clear[dd];
dd:=If[m==0,milli,milli];
Clear[dx];
dx:=If[dg/nano==500,dxx,dxx];
max=Max[Table[Gx[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Gx[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigGx=Plot[Gx[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)",HxEx,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,PlotRange->{-1.1maxmin,1.1maxmin},LabelStyle->{FontSize -> fs1},Evaluate[optX]];

HzEz:=If[mode=="TE","(Subscript[H, z])'' ((10^3) A/m)","(Subscript[E, z])'' (\!\(\*SuperscriptBox[\(10\), \(\(3\)\(\\ \)\)]\)V/m)"];
Clear[Pz];
Pz[x_]:= Which[
m==0,A HzTE[x],
m==1,A EzTM[x]];

Clear[Pz1];
Pz1[x_]:=Im[Pz[x]];
Clear[dd];
dd:=If[m==0,milli,milli];
Clear[dx];
dx:=If[dg/nano==500,dxx,dxx];
max=Max[Table[Pz1[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
min=Min[Table[Pz1[x nano-dg/2]dd,{x,-dx,dx,dx/100}]];
maxmin=If[Abs[min]>Abs[max],min,max];

FigPz=Plot[Pz1[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},FrameLabel->{"x (nm)",HzEz,Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],ImageSize->is,PlotRange->{-1.1maxmin,1.1maxmin},LabelStyle->{FontSize -> fs1},DisplayFunction->Identity,Evaluate[optX]];

Clear[sz];
sz[x_]:= (A^2) (-.5EyTE[x] HxTE[x]+.5HyTM[x] ExTM[x]);
Clear[dd];
dd:=micro ;
Clear[dx];
dx:=If[dg/nano==500,dxx,dxx];
max=Max[Table[sz[x nano-dg/2]dd,{x,-dx,dx,dx/1000}]];
min=Min[Table[sz[x nano-dg/2]dd,{x,-dx,dx,dx/1000}]];
maxmin=If[Abs[min]>Abs[max],min,max];

Figsz=Plot[sz[x nano-dg/2] dd,{x,-dx,dx},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x [nm]","(Subscript[s, z]) ((10^6) W/(m^2))",Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},DisplayFunction->Identity,LabelStyle->{FontSize -> fs},
Evaluate[optX],
DisplayFunction->Identity];

Figsz1=Plot[sz[x nano-dg/2] dd,{x,-dx/10,dx/10},
LabelStyle->{FontSize -> fs},
FrameLabel->{"x (nm)","(Subscript[s, z]) ((10^6) W/(m^2))",Join[{type},{mode},{symmetry}],StringJoin["(Subscript[d, g]) = ",ToString[dg/nano]," nm"]},Filling -> Axis,
FillingStyle ->  Opacity[0.2],
ImageSize->is,
PlotRange->{-1.1maxmin,1.1maxmin},DisplayFunction->Identity,LabelStyle->{FontSize -> fs},
Evaluate[optX],
Epilog->
{RGBColor[0,0,0],
Text[
StringJoin["β = ",ToString[.01Round[100β]]," "],{0,.9 Abs[maxmin]}],
Text[
StringJoin["κ = ",ToString[.01Round[100κ]]," "],{0,.6 Abs[maxmin]}],
Text[
StringJoin["δ = ",ToString[.01Round[100δ]]," "],{0,.3 Abs[maxmin]}]},
DisplayFunction->Identity];

FigFyGxPz=GraphicsGrid[{
{FigTypeB1["(Subscript[ϕ, g])","(Subscript[ϕ, c])",rg, rc, t, ϕc][[2]],
Grid[{
  {"β", "=", β},
  {"κ", "=", κ},
  {"δ", "=", δ}},
 Dividers -> All,
 ItemStyle -> {fs, fs}]},
{FigFy,FigGx},
{FigPz,Figsz}},
ImageSize->.9{500,500},
Frame->True,
Spacings->{-20,10}],
FigFyGx=GraphicsGrid[{
{FigFy,FigGx},
{FigPz,Figsz}},
ImageSize->1.3{500,300},
Frame->True,
Spacings->{-20,10}]}]

Fig23a={g[10];fun[t, m, s, dg];gun[t, m, s, dg][[2]];Figsz1}[[1]]

Fig23b={g[12];fun[t, m, s, dg];gun[t, m, s, dg][[2]];Figsz1}[[1]]

Fig23c={g[15];fun[t, m, s, dg];gun[t, m, s, dg][[2]];Figsz1}[[1]]

Fig23d={g[16];fun[t, m, s, dg];gun[t, m, s, dg][[2]];Figsz1}[[1]]

Fig23=GraphicsGrid[{
    {Fig23a,Fig23b},
  {Fig23c,Fig23d}},
   ImageSize -> {450, 300},
   Frame -> True,
   Spacings -> {-30, 20}]

16 cases

Fig7={g[1];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig8={g[2];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig9={g[3];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig10={g[4];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig11={g[5];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig12={g[6];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig13={g[7];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig14={g[8];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig15={g[9];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig16={g[10];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig17={g[11];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig18={g[12];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig19={g[13];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig20={g[14];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig21={g[15];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Fig22={g[16];fun[t, m, s, dg];gun[t, m, s, dg][[2]]}[[1]]

Tables

TableAll

Table1=TableChapter5

Table2

Table3

Table4

Table5

Figures

Fig3

Fig4

Fig5

Fig7

Fig8

Fig9

Fig10

Fig11

Fig12

Fig13

Fig14

Fig15

Fig16

Fig17

Fig18

Fig19

Fig20

Fig21

Fig22

Fig23

Exercises

(1) Table 5.1 includes only a partial list of the topics included in Table 2.2. Try addressing all the rest of the topics using the examples given in this chapter. 
(2) Discuss the meaning of electric and magnetic charge density waves in the DPS/ENG/DPS-, DPS/DNG/DPS- and DPS/MNG/DPS-type structures in the context of a metamaterial.

References

[1] I. V. Shadrivov, A. A. Sukhorukov and Y. S. Kivshar.  Guided modes in negative-refractive-index waveguides. Phys. Rev. E 67 (2003) 057602.
[2] M. J. Adams.  An Introduction to Optical Waveguides (Wiley Interscience, 1981).