StandingTraveling

Version 2.4
2/13/92
by Mark Steeds and John Schneider

Introduction

This NoteBook show the electric field when a plane wave is normally incident on a boundary between two materials.  Although this is for plane wave propagation, the same behavior is present for fields traveling on transmission lines.  In the examples here, one of the materials is always free space and the other is either a dielectric, a lossy-dielectric, or a good conductor.  The command that generated the graphics is provided, so you can examine cases other than the ones provided.  Documentation is sparse in this early version, but if you look at the command declaration in the ™Initialization Cells∫ section, you should be able to determine the command syntax.
   
   All of the graphics in this NoteBook can be animated, and you should animate them.  They are only mildly interesting without animation.
   
   Enjoy.

Free Space-Dielectric

ReflectGraph[50,1,1,0,1,2.1,0,10^6,"free space","teflon"]

Dielectric-Free Space

The following command displays the fields when the wave originates in the dielectric and travels into free space.  The graphics are not ™pre-generate.∫  If you want to see this, you will have to click on the following cell and then hit ™Enter.∫  It takes a minute, or so, to generate all the frames.

ReflectGraph[50,1,2.1,0,1,1,0,10^6,"teflon","free space"]

Free Space-Lossy Dielectric

ReflectGraph[50,1,1,0,1,80,10^-4,10^6,"free space","water"]

Free Space-Good Conductor

ReflectGraph[50,1,1,0,1,1,6.17 10^7,10^6,"free space","silver"]

Initialization Cells

<</Users/schneidj/NoteBooks/msteeds/Mathematica/Packages/Waveprop.m

Off[General::spell1];
ReflectGraph[E0_,ur1_,er1_,cond1_,ur2_,er2_,cond2_,freq_,t1_,t2_]:=
Block[{alpha1,beta1,alpha2,beta2,reflect,plot1i,plot1r,plot1,line,medium,
		medium2,tmax,tstep,xco,interline,reflectline,incidentline,medium1text,
		medium2text,reflectarrow,incidentarrow,medium2label,mreflect,
		medium1label1,medium1label2,boundarypointer,boundarytext,tau,pi,
		resultanttext,plot1rcomplete,resultline,vaxislabel,haxislabel,anglereflect},
	alpha1 = AttenuationConstant[ ur1, er1, cond1, freq];
	beta1  = PhaseConstant[ ur1, er1, cond1, freq];
	alpha2 = AttenuationConstant[ ur2, er2, cond2, freq];
	beta2  = PhaseConstant[ ur2, er2, cond2, freq];
	reflect  = ReflectRatio[ ur1, er1, cond1, ur2, er2, cond2, freq];
	mreflect = Abs[reflect];
	anglereflect = N[Arg[reflect]];
	tau      = Abs[1+reflect];
	angletau = N[Arg[1+reflect]];
	pi2   = N[2 Pi];
	xco  = 91 freq;
	tmax = 1 / freq;
	tstep = tmax / (6 N[Pi]);
	Do[plot1i=Line[Table[{x, E0 Exp[-alpha1 x] Cos[ freq pi2 t - beta1 x]},
						  {x,-500,0,4}]];
		plot1r=Line[Table[{x, mreflect E0 Exp[-alpha1 x] Cos[ freq pi2 t + beta1 x + anglereflect]},
						  {x,-500,0,4}]];
		plot1 = Line[Table[{x, E0 Exp[-alpha1 x] Cos[ freq pi2 t - beta1 x] +
						mreflect E0 Exp[-alpha1 x] Cos[ freq pi2 t + beta1 x + anglereflect]},
						{x,-500,0,4}]]; 
		plot2 = Line[Table[{x, tau E0 Chop[Exp[-alpha2 x]] Cos[ freq pi2 t - beta2 x + angletau]},
						{x,0,500,4}]];		
	    medium1={GrayLevel[.66667],Polygon[{{-500,100},{-500,-100},{0,-100},{0,100}}]};
		medium2={GrayLevel[.5],Polygon[{{0,100},{0,-100},{500,-100},{500,100}}]};
	    line      = Line[{{-500,0},{500,0}}];
		interline = Line[{{-1,100},{-1,-100}}];
		reflectline   = Line[{{-400,120},{-315,120}}];
		incidentline  = Line[{{-400,140},{-310,140}}];
		resultline    = Line[{{-400,160},{-300,160}}];
		medium1text   = Text[t1,{-250,75}];
		medium2text   = Text[t2,{250,75}];
		reflectarrow  = Line[{{-300 - t xco,125},{-309 - t xco,120},{-300 - t xco,115}}];
		incidentarrow = Line[{{-400 + t xco,145},{-391 + t xco,140},{-400 + t xco,135}}];
		medium2label  = Text["transmitted wave", {250,130}];
		medium1label1 = Text["incident wave",{-150,140}];
		medium1label2 = Text["reflected wave",{-150,120}];
		medium1label3 = Text["resultant wave",{-150,160}];
		boundarypointer = Line[{{-1,-100},{19,-110}}];
		pointerarrow  = Line[{{2,-107},{-1,-100},{15,-102}}];
		boundarytext  = Text["z = 0",{53,-112}];
		resultanttext = Text["resultant wave", {-250,130}];
		vaxislabel = Text["E [V/m]", {10,90},{-1,0}];
		haxislabel = Text["z [m]", {440,5},{0,-1}];
		Show[Graphics[{medium1,medium2,plot1,plot2,line,medium1text,medium2text,medium2label,
			 incidentarrow,reflectarrow,medium1label1,medium1label2,medium1label3,
			 boundarypointer,pointerarrow,boundarytext,resultline,haxislabel,vaxislabel,
			 {Dashing[{.04,.01}],interline},
			 {Dashing[{0.03,0.01}],plot1i,incidentline},
			 {Dashing[{0.01,0.01}],plot1r,reflectline}}],
			 PlotRange -> {{-500,500},{-130,170}}],
		{t, 0, tmax, tstep}
	]
];
Off[General::spell1]