Contents

% beamprop.m  Gaussian beam propagation problems
%             by Chuck DiMarzio
%                Northeastern University
%                November 2008
%
%
%  !! This file may be copied, used, or modified for educational and
%  !! research purposes provided that this header information is not
%  !! removed or altered, and provided that the book is cited in
%  !! publications, as DiMarzio, Charles A., Optics for Engineers,
%  !! CRC Press, Boca Raton, FL, 2011.
%  !! http://www.crcpress.com
%  !! Other distribution is prohibited without permission.
%

First problem is, given rho and d, find z and d_0

d=0.3; % meters
lambda=10.59e-6;  % CO2 laser P20 line
bprime=pi*d^2/4/lambda;
f=(0.1:0.1:5)*bprime; % Focal length, f, sets rho, radius of curvature
qinv=-1./f - 1i/bprime;  % Generate complex radius of curvature
q=1./qinv;
z=real(q); % find wasit location and waist diameter
b=imag(q);
d_0=sqrt(b*4*lambda/pi);
fig12=figure;plot(f/1000,-z/1000,'k');
moose=axis;
axis([0,moose(2),0,moose(4)]);
% Plot approximations
hold on;plot([0,moose(4)],[0,moose(4)],'k--',...
             [1,1]*bprime/1000,[0,moose(4)],'k-.',...
             [0,moose(2)],[1,1]*bprime/2/1000,'k-.');
grid on;
hold off;
xlabel('f, Focal Length, km');
ylabel('-z, Distance to Waist, km');

Now show the wasit diameter.

fig13=figure;plot(f/1000,d_0*100,'k',...
            [0,bprime/1000],[0,4/pi*lambda/d*bprime*100],'k--',...
            [0,f(end)]/1000,[1,1]*d*100,'k--');
grid on;
xlabel('f, Focal Length, km');
ylabel('d_0, Waist Diameter, cm');

for three plots of axial irradiance with dfferent f

zplot=(0:10:10000);
fplot=[200,1000,5000];  % 3 values of f
[zp,fp]=meshgrid(zplot,fplot);
qinvp=-1./fp - 1i/bprime;
qp=1./qinvp;
zzerop=real(qp);
bp=imag(qp);
d_0p=sqrt(bp*4*lambda/pi);
dp=d_0p.*sqrt(1+((-zp-zzerop)./bp).^2);
pp=2./(pi*(dp/2).^2);
fig14=figure;loglog(zplot/1000,pp,'k-',...
    fplot(1)*[1,1]/1000,[1e-2;1e6],'k-.',...
    fplot(2)*[1,1]/1000,[1e-2;1e6],'k-.',...
    fplot(3)*[1,1]/1000,[1e-2;1e6],'k-.');
grid on;
hold on;
moose=axis;axis([moose(1:2),1e-2,1e5]);
xlabel('z, Distance, km');
ylabel('I_0/P, m^{-2}');
hold off;

Beam diameter along the path

test=zplot<2500;
fig15=figure;plot(zplot(test)/1000,dp(2,test)*100,'k',...
    zplot(test)/1000,abs(d*(zplot(test)-fplot(2))/fplot(2))*100,'k--',...
    zplot(test)/1000,4/pi*lambda/d*zplot(test)*100,'k--');
xlabel('z, Distance, km');
ylabel('d, Beam Diameter, cm');
grid on;