Fabry-Perot etalon.nb

units and constants

nm=(10^(-9));cm=(10^(-2));mm=(10^(-3));um=(10^(-6));
fs=(10^(-15));ps=(10^(-12));
c=3 (10^8);

fresnel equations for dielectric interface r and t
parallel means E field is parallel to plane of incidence: S polarization
perpendicular means E field is perp to plane of incidence: P polarization

Snell's Law for transmitted angle: this is imaginary for incident angle greater than the critical angle for TIR

θT[θI_,nI_,nT_]:=ArcSin[nI Sin[θI]/nT];

transmission:

tParall[nI_,nT_,θI_,θT_]:=((2 nI Cos[θI])/(nT Cos[θI]+nI Cos[θT]));
tPerp[nI_,nT_,θI_,θT_]:=((2 nI Cos[θI])/(nI Cos[θI]+nT Cos[θT]));

reflection

rParall[nI_,nT_,θI_,θT_]:=((nT Cos[θI]-nI Cos[θT])/(nT Cos[θI]+nI Cos[θT]));
rPerp[nI_,nT_,θI_,θT_]:=((nI Cos[θI]-nT Cos[θT])/(nI Cos[θI]+nT Cos[θT]));

power transmission coeff
T=((Abs[t])^2) Re[(((Subscript[n, t])Cos[(Subscript[θ, t])])/((Subscript[n, i])Cos[(Subscript[θ, i])]))]
The extra factor accounts for the beam size change upon refraction from one index to another.

TParall[nI_,nT_,θI_,θT_]=((Abs[tParall[nI,nT,θI,θT]])^2)Re[((nT Cos[θT])/(nI Cos[θI]))];
TPerp[nI_,nT_,θI_,θT_]=((Abs[tPerp[nI,nT,θI,θT]])^2)Re[((nT Cos[θT])/(nI Cos[θI]))];

power reflection coeff
R=((Abs[r])^2)

RParall[nI_,nT_,θI_,θT_]=((Abs[rParall[nI,nT,θI,θT]])^2);
RPerp[nI_,nT_,θI_,θT_]=((Abs[rPerp[nI,nT,θI,θT]])^2);

Brewster angle

θBrewster[nI_,nT_]:=ArcTan[nT/nI];

critical angle for TIR:

θCrit[nI_,nT_]:=ArcSin[nT/nI];

etalon functions

assume external refractive index = 1

ωFromλ[λ_]:=((2 π c)/λ);

etalonT[del_,F_]:=(1/(1+F ((Sin[del/2])^2)));
finesse[r_]:=(((((2 r)/(1-(r^2)))))^2); (* amplitude r here *)
coeffFinesse[R_]:=((4 R)/(((1-R))^2));
finesse[R_]:=(π/(2 ArcSin[1/(Sqrt[coeffFinesse[R]])]));
etPhase[ω_,d_,thI_]:=2 (ω/c)n d Cos[θT[thI,1,n]];
etFSRλ[λ0_,d_,thI_]:=(c/(2 n d Cos[θT[thI,1,n]]))(((λ0)^2)/c);

 (* this etalon phase doesn't account for the dispersion of the material *)
phiEt[λ_,d_,a_]:=Block[{ap,r12,r23},
ap:=θT[a,1,n];
r12:=rp[1,n,a,ap];
r23:=rp[n,1,ap,a];
ArcTan[Tan[((2 π)/λ) n d Cos[ap]](((1-r12*r23))/((1+r12*r23)))]
];
etBeamDispl[d_,θI_]:= 2 d Tan[θT[θI,1,n]]Cos[θI];

these definitions are made in Fresnel coeff calcs above
redefine in terms of S and P polarization

rs[n1_,n2_,θ1_,θ2_]=rParall[n1,n2,θ1,θ2];
rp[n1_,n2_,θ1_,θ2_]=rPerp[n1,n2,θ1,θ2];

transmission

n=1.5;
λ0=500 nm;
λRange=1nm;
RTst=0.9;
θinc=0 Degree;
dMin=0.01mm;dMax=1mm;

Print["coeff finesse: ",coeffFinesse[RTst]];
Print["finesse: ",finesse[RTst]];
Print["transmitted angle: ",θT[θinc,1,n]/Degree," deg"];
Print["FSR: ",etFSRλ[λ0,dMax,θinc]/nm," nm"];
Print["delay time: ", (2 n dMax Cos[θT[θinc,1,n]])/c/ps," ps"];
Print["etalon beam displacement: ",etBeamDispl[dMax,θinc]/um," microns"];

Manipulate[
Plot[etalonT[etPhase[ωFromλ[λ nm],d mm,θ Degree],coeffFinesse[R]],{λ,(λ0-λRange)/nm,(λ0+λRange)/nm},PlotRange->{0,1}],
{d,dMin/mm,dMax/mm},
{R,0.1,1},
{θ,0,90}
]

dEtalon=1 cm;rEt=0.9;
thMax=1 °;
DensityPlot[etalonT[etPhase[ωFromλ[λ0],dEtalon,thMax (Sqrt[(x^2)+(y^2)])],finesse[rEt]],{x,-1,1},{y,-1,1},PlotPoints->70,PlotRange->{0,1}]