Breadcrumbs

 

 

Download ModelDownload SourceembedLaunch Website

About

Intro Page

Laser Beam Profile

Developed by E. Behringer

This set of exercises guides the student to model the results of an experiment to determine the profile of a laser beam using a knife-edge technique. It requires the development of the model of the knife-edge profile, and fitting of the model profile to experimental data. Here, the computational tasks are handled by built-in functions of the computational tool being used to complete these exercises.

Subject Area Waves & Optics
Level Beyond the First Year
Available Implementation Python
Learning Objectives

Students who complete this set of exercises will be able to

  • express an equation predicting the profile of a laser oscillating in the TEM00 mode in terms of dimensionless (“scaled”) variables suitable for coding (Exercise 1);
  • produce both line plots and contour plots of the (scaled) irradiance of the beam versus (scaled) position(s) (Exercises 1 and 2);
  • develop a model of, and plot, the knife-edge profile of the laser beam (Exercise 3); and
  • fit the model, i.e., of the irradiance versus knife-edge position, to experimental data (Exercise 4)
Time to Complete 120 min
Exercise 1

EXERCISE 1: THE TEM MODE: “LINE CUTS”

The irradiance  (power per unit area) of a laser oscillating in the TEM mode can be expressed as

where  is the maximum irradiance of the beam and  is a parameter that describes the width (i.e., the spatial extent) of the beam. You can show that when , the locations  at which  are . Show that when  and , the irradiance is  and show that the above expression for the irradance is equivalent to

where the “scaled variables”  and  are defined as . We can relate this expression to the total power  transmitted by the beam:

(a) Assume  mW and  mm to generate a line plot of the irradiance  on the vertical axis versus  on the horizontal axis for  for different values of  and .

(b) Repeat (a) but now plot the irradiance divided by the maximum irradiance for that particular value of  (in other words, plot ) versus  on the horizontal axis. Comment on the resulting plot.

Beam_Profile_Exercise_1.py

#

# Beam_Profile_Exercise_1.py

#

# This file will generate a plot of

# the irradiance I(x,y) of the TEM00 Gaussian Mode of a laser

# as a function of scaled x for several different values of scaled y.

#

# This file will also generate a plot of

# the scaled irradiance I(x,y) of the TEM00 Gaussian Mode of a laser

# as a function of scaled x for several different values of scaled y.

#

# Written by:

#

# Ernest R. Behringer

# Department of Physics and Astronomy

# Eastern Michigan University

# Ypsilanti, MI 48197

# (734) 487-8799

# This email address is being protected from spambots. You need JavaScript enabled to view it.

#

# 20160628 ERB

#

from pylab import xlim,xlabel,ylim,ylabel,show,plot,figure,grid,legend

from numpy import linspace,exp,pi,zeros

# Generate scaled x and y values

max_xsc = 2.0 # maximum value of x position [mm]

min_xsc = -2.0 # minimum value of x position [mm]

Npts = 81

xsc = linspace(min_xsc,max_xsc,Npts) # array of scaled x values

ysc = [0.0,0.2,0.4,0.6,0.8,1.0]

# other inputs

w0 = 1.00 # beam width [mm]

P_0 = 1.00 # laser power [mW]

I_0 = 2.00*P_0/(pi*w0*w0) # maximum irradiance [mW/mm2]

# Set up array of irradiances

I = zeros((6,Npts))

for i in range(0,6):

I[i] = I_0 * exp(-2.0*(xsc*xsc + ysc[i]*ysc[i]))

# Generate the line plot of irradiance versus scaled x values

# for different scaled y values

figure()

# Here we plot unscaled I versus the scaled x for different scaled y values,

plot(xsc,I[0],'mo-',label='\(\\tilde y = 0.0\)',markevery=8)

plot(xsc,I[1],'bD-',label='\(\\tilde y = 0.2\)',markevery=4)

plot(xsc,I[2],'g>-',label='\(\\tilde y = 0.4\)',markevery=2)

plot(xsc,I[3],'ys-',label='\(\\tilde y = 0.6\)',markevery=5)

plot(xsc,I[4],color='#ffaa00',marker='^',linestyle='-',label='\(\\tilde y = 0.8\)',markevery=4)

plot(xsc,I[5],'r*-',label='\(\\tilde y = 1.0\)',markevery=3)

# Define the limits of the horizontal axis

xlim(min(xsc),max(xsc))

# Label the horizontal axis, with units

xlabel("\(\\tilde x\)", size = 16)

# Define the limits of the vertical axis

ylim(min(I[0]),max(I[0]))

# Label the vertical axis, with units

ylabel("\(I\) [mW/mm\(^2\)]", size = 16)

grid('on')

legend()

show()

# Generate the line plot of scaled I versus scaled x

figure()

# Here we plot scaled I versus scaled x for different scaled y values,

plot(xsc,I[0]/max(I[0]),'mo-',label='\(\\tilde y = 0.0\)',markevery=8)

plot(xsc,I[1]/max(I[1]),'bD-',label='\(\\tilde y = 0.2\)',markevery=4)

plot(xsc,I[2]/max(I[2]),'g>-',label='\(\\tilde y = 0.4\)',markevery=2)

plot(xsc,I[3]/max(I[3]),'ys-',label='\(\\tilde y = 0.6\)',markevery=5)

plot(xsc,I[4]/max(I[4]),color='#ffaa00',marker='^',linestyle='-',label='\(\\tilde y = 0.8\)',markevery=4)

plot(xsc,I[5]/max(I[5]),'r*-',label='\(\\tilde y = 1.0\)',markevery=3)

# Define the limits of the horizontal axis

xlim(min(xsc),max(xsc))

# Label the horizontal axis, with units

xlabel("\(\\tilde x\)", size = 16)

# Define the limits of the vertical axis

ylim(0.0,1.0)

# Label the vertical axis, with units

ylabel("\(I/I_{max,\\tilde{y}}\)", size = 16)

grid('on')

legend()

show()

 

Translations

Code Language Translator Run

Software Requirements

SoftwareRequirements


Android iOS Windows MacOS
with best with Chrome Chrome Chrome Chrome
support full-screen? Yes. Chrome/Opera No. Firefox/ Samsung Internet Not yet Yes Yes
cannot work on some mobile browser that don't understand JavaScript such as.....
cannot work on Internet Explorer 9 and below

 

Credits

Fremont Teng; Loo Kang Wee

end faq

Sample Learning Goals

[text]

For Teachers

[text]

Research

[text]

Video

[text]

 Version:

  1.  https://www.compadre.org/PICUP/exercises/exercise.cfm?I=134&A=laser_beam_profile
  2. http://weelookang.blogspot.com/2018/06/laser-beam-profile-exercise-1-tem00.html

Other Resources

[text]

end faq

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)