27.12.2012 Views

Wave Propagation in Linear Media | re-examined

Wave Propagation in Linear Media | re-examined

Wave Propagation in Linear Media | re-examined

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.4 Test of the package<br />

8.4.2 Formal veri cation<br />

Apart from these numerical examples, the<strong>re</strong> is also a rather formal way to check the implementation.<br />

S<strong>in</strong>ce the wave function is <strong>in</strong> pr<strong>in</strong>ciple a Fourier <strong>in</strong>tegral over the space of wave<br />

numbers , each of the partial waves that make up the whole solution is itself a solution of<br />

Schrod<strong>in</strong>ger's equation. In addition, the partial waves on both sides of the tunnel for a given<br />

wave number must satisfy the boundary conditions. Thus we can use the <strong>in</strong>tegrands <strong>in</strong>stead<br />

of the enti<strong>re</strong> <strong>in</strong>tegrals for veri cation. Although the conditions must be met ir<strong>re</strong>spective of the<br />

wave number, we must, of course, keep <strong>in</strong> m<strong>in</strong>d that we have<strong>in</strong>troduced di e<strong>re</strong>nt de nitions<br />

for di e<strong>re</strong>nt ranges of .<br />

To perform the checks we must rst decla<strong>re</strong> the function modules from which the <strong>in</strong>tegrands<br />

a<strong>re</strong> composed because they a<strong>re</strong> not visible from outside the Mathematica package. As this is<br />

quite a lengthy <strong>in</strong>put, we only quote a few de nitions.<br />

In[19]:= (*-- Functions <strong>in</strong>dependent of the waveform --*)<br />

TunCoeff[xi_] := 2 xi/(xi + Sqrt[xi^2-1]);<br />

TunOsc[a_,b_,c_,d_,xi_] :=<br />

Exp[I (a xi^2 + b xi + c Sqrt[xi^2 - 1] + d)];<br />

RefCoeff[xi_] := (xi - Sqrt[xi^2-1])/(xi + Sqrt[xi^2-1]);<br />

OutOsc[a_,b_,c_,d_,xi_] := Exp[I (a xi^2 + (b+c) xi + d)];<br />

(*-- Triangular Shape <strong>in</strong>side the tunnel --*)<br />

TriaConst[w_,k_] := Sqrt[3/w] / (2 k Pi^2);<br />

TriaShapePos[w_,xi_] := 1/(1-xi/Sqrt[w])^2;<br />

In[20]:= TriaShapeNeg[w_,xi_] := 1/(1+xi/Sqrt[w])^2;<br />

TriaTransPos[a_,b_,c_,d_,w_,k_][xi_] :=<br />

TunCoeff[xi] * TriaShapePos[w,xi] * TunOsc[a,b,c,d,xi];<br />

TriaTransNeg[a_,b_,c_,d_,w_,k_][xi_] :=<br />

TunCoeff[xi] * TriaShapeNeg[w,xi] * TunOsc[a,b,c,d,xi];<br />

TriaEvan[a_,b_,c_,d_,w_,k_][xi_] :=<br />

TriaTransPos[a,b,c,d,w,k][xi] *<br />

(-1 + 2 Exp[I (Pi k/Sqrt[w] xi - Pi k)] -<br />

Exp[2 I (Pi k/Sqrt[w] xi - Pi k)]);<br />

(*-- and so on for the <strong>re</strong>st of the shapes --*)<br />

To start with the veri cation of the boundary conditions, we rst check that the waves<br />

<strong>in</strong>side and outside the tunnel have the same value and the same derivative at the edge. The<br />

arguments a to d a<strong>re</strong> the coe cients of the oscillatory factor. Accord<strong>in</strong>g to, for <strong>in</strong>stance, (8.30)<br />

we know that a = ,t and c = x for waves propagat<strong>in</strong>g <strong>in</strong> positive or negative di<strong>re</strong>ctions,<br />

211

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!