Matlab Laser Toolbox User Manual

Matlab Laser Toolbox
User Manual
Gert-willem Römer
UNIVERSITY OF TWENTE.
Faculty of Engineering Technology
Chair of Applied Laser Technology
P.O. box 217, NL7500AE, Enschede, the Netherlands
Email g.r.b.e.romer@wb.utwente.nl
Phone +31 (53) 4892519
September 23, 2010
Version 0.1 beta
Preface
The Matlabr Laser Toolbox provides several functions and scripts for analysis and visualization of laser beam properties, as well as, functions to calculate the interaction (e.g.
induced temperature by absorbed laser energy in a solid) in a material.
Contents
1 Introduction
1.1 Matlab Laser Toolbox .
1.2 System requirements . .
1.3 Installation instructions
1.4 Licence and disclaimer .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Data structures
2.1 Power density distribution (pdd) . . .
2.2 Propagation properties of a laser beam
2.3 Temperature profile (temp) . . . . . .
2.4 Material . . . . . . . . . . . . . . . . .
3 Functions by category
3.1 Power density distribution
3.1.1 GAUSS . . . . . . .
3.1.2 TEMPL . . . . . . .
3.1.3 TEMNN . . . . . . .
3.1.4 TOPHAT . . . . . .
3.1.5 RECTUNIF . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
3
4
. . . . .
(beam)
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
7
7
.
.
.
.
.
.
8
8
8
8
9
10
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
3.2
3.3
3.4
3.1.6 T2SURFSRC . . . . . . . . . .
3.1.7 MDFREAD . . . . . . . . . . . .
3.1.8 UFFREAD . . . . . . . . . . . .
3.1.9 PLOTPDD . . . . . . . . . . . .
3.1.10 DISPPDD . . . . . . . . . . . .
Laser beam propagation parameters
3.2.1 ISO11146 . . . . . . . . . . .
3.2.2 CAUSTIC . . . . . . . . . . . .
3.2.3 DISPBEAM . . . . . . . . . . .
Temperature models . . . . . . . . .
3.3.1 TPNTSRC . . . . . . . . . . . .
3.3.2 TLINESRC . . . . . . . . . . .
3.3.3 TSURFSRC . . . . . . . . . . .
3.3.4 PLOTTEMP . . . . . . . . . . .
General functions . . . . . . . . . . .
3.4.1 OVERLAP . . . . . . . . . . . .
3.4.2 MATERIALS . . . . . . . . . .
3.4.3 MOMENTXY . . . . . . . . . . .
3.4.4 NUM2PSTR . . . . . . . . . . .
3.4.5 HERMITE . . . . . . . . . . . .
3.4.6 LAGUERRE . . . . . . . . . . .
4 Known issues
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
13
13
13
13
14
14
14
14
14
15
17
18
18
18
18
18
18
19
19
2
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
1
Introduction
1.1
Matlab Laser Toolbox
Matlabr is high-level interpreted language and interactive environment for algorithm
development, data visualization, data analysis, and numeric computation, Developed by
MathWorks Inc. (http://www.mathworks.com) Add-on toolboxes, which are collections
of special-purpose Matlab functions and scripts, extend the Matlab environment to
solve particular classes of problems.
The Laser Toolbox provides several functions and scripts for analysis and visualization of laser beam properties, as well as, functions to calculate the interaction (e.g.
induced temperature by absorbed laser energy in a solid) in a material. This User
Manual addresses the usage of the Laser Toolbox including examples.
The author appreciates that publications describing work using the Laser Toolbox
quote one of the references given below:
• G.R.B.E. Römer and A.J. Huis in ’t Veld. Matlab Laser Toolbox. Physics Procedia, 5(0), Pages 413-419.
• G.R.B.E. Römer and A.J. Huis in ’t Veld. Matlab Laser Toolbox. Proceedings of
the 29th International Congress on Applications of Lasers & ElectroOptics (ICALEO), September 26-30, 2010, Anaheim, CA, USA.
Critical evaluation of the Laser Toolbox is welcomed.
1.2
System requirements
The Laser Toolbox was developed for Matlab version 7.5, and should run on any
operating system supported by Matlab.
1.3
Installation instructions
1. Download the Matlab Laser Toolbox, as a compressed ZIP file from the website:
http://www.wa.ctw.utwente.nl/software/laser/
2. Decompress the ZIP file into a directory on your hard disk, e.g. in c:/laser
3. Start Matlab
4. Run Matlab’s graphical path set tool by executing the command pathtool from
the command line, and add the directory of the Laser Toolbox (here c:/laser)
to the Matlab search path, by clicking the ”Add folder” button. Or execute the
command addpath ’c:/laser’ -end from the command line
5. Execute the command help laser from the command line, which should give to
following output
3
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
Laser Toolbox
Version 0.1 (R2007b) September 20th, 2010
Power density
gauss
templ
temmn
tophat
rectunif
t2surfsrc
mdfread
uffread
plotpdd
disppdd
distribution.
- Gaussian power density profile.
- Gauss-Laguerre mode.
- Gauss-Hermite mode.
- Top hat power density profile.
- Rectangular uniform power density profile.
- Surface power density profile based on desired temperature profile.
- Read MDF file from disk.
- Read UFF file from disk.
- Power density distribution plot.
- Display power density distribution.
Laser beam.
iso11146
caustic
dispbeam
- Beam propagation ratios according to ISO 11146-1.
- Caustic plot.
- Display beam characteristics.
Temperature profile.
tpntsrc
- Temperature
tlinesrc
- Temperature
tsurfsrc
- Temperature
plottemp
- Temperature
General.
overlap
materials
momentxy
num2pstr
hermite
laguerre
-
profile of point surface heat source.
profile of line heat source.
profile of surface heat source.
plot.
Overlap plot of pulses.
Sets and saves materials parameters.
First and second order moments.
Convert numbers to a prefixed string.
Hermite polynomial.
Laguerre polynomial.
(c) 2008-2010 G.R.B.E. Romer, University of Twente.
This Matlab Laser Toolbox is for private, non-commercial, single home
computer, or educational use only. The use of Matlab Laser Toolbox for
commercial purposes is strictly prohibited. Please read the detailed
license agreements in the Matlab "Laser Toolbox User Manual".
1.4
Licence and disclaimer
Licence
The Matlab Laser Toolbox is free for private, non-commercial, single home computer,
or educational use only. The use of Matlab Laser Toolbox for commercial purposes is
strictly prohibited. By downloading the Laser Toolbox you express your approval of the
conditions and terms hereof and you are bound thereby. Should you disagree with the
4
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
conditions and terms hereof, promptly terminate the use of this software and destroy any
copies thereof or delete the program already downloaded. The Laser Toolbox subject
thereto is and continues to be a property of the University of Twente. The Laser Toolbox
is also subject to copyrights, and as such it is subject to a full protection thereof.
Disclaimer
The Matlab Laser Toolbox is provided ”as is”, without warranty of any kind, express
or implied, including but not limited to the warranties of merchantability, fitness for a
particular purpose and noninfringement. In no event shall the University of Twente,
nor the authors or copyright holders be liable for any claim, damages or other liability,
whether in an action of contract, tort or otherwise, arising from, out of or in connection
with the software or the use or other dealings in the software.
2
Data structures
Four data structures hold and organize related data to be handled and processed by the
Laser Toolbox.
2.1
Power density distribution (pdd)
Table 1 shows the fields of the data structure, referred to here as pdd (an abbreviation
of power density distribution). This structure holds data related to a power density
distribution I(x, y) [W/m2 ] (measured or calculated) at a specified plane along the axis
z of propagation of the laser beam.
Table 1: Data structure pdd holding power density distribution(s).
FIELD
DESCRIPTION
name
Identifier
fileid ID of measurement file (if any)
comment Comments (if any)
px
No. of values in x direction of I(x,y)
py
No. of values in y direction of I(x,y)
rangexy Length [m] and width [m] of xy plane
x
x coordinates at which I(x,y) is defined
y
y coordinates at which I(x,y) is defined
z
z coordinate at which I(x,y) is defined
amp
Amplification [dB] of sensor (if any)
average No. of measurements of I(x,y)
offset Offset (noise level) of sensor
lambda Laser wavelength [m]
foclen Focal length of lens used (if any)
datestr Date (e.g. of measurement)
timestr Time (e.g. of measurement)
5
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
ixy
Array of values of I(x,y)
It should be noted that some data fields are optional. In the case several power
density distributions are defined (or measured) at specified locations z along the optical
axis, an array of these data structures is constructed. Then, each entry of the array
holds a pdd structure defined in Table 1, one for each specified location z. Although
arrays of structures in Matlab are less computationally efficient, than structures of
arrays, the readability and usability of the code of the Laser Toolbox requires the use
of arrays of structures. Below some functions which create a pdd structure, or create it
from measured data.
2.2
Propagation properties of a laser beam (beam)
Table 2 shows the fields of the data structure, referred to here as beam, holding propagation properties of a laser beam as defined in the ISO11146 standard dealing with Lasers
and laser related equipment - Test methods for laser beam widths, divergence angles and
beam propagation ratios.
Table 2: Data structure beam holding propagation properties of a laser beam.
FIELD
name
lambda
power
z
dr
dx
dy
eta
d0r
z0r
zRr
divr
M2
Cr
d0x
z0x
zRx
divx
M2x
Cx
d0y
DESCRIPTION
Identifier, string
Laser wavelength [m], double
Power [W] of the laser radiation, double
Locations z along axis of propagation, vector of doubles
Diameters of the beam at locations z, vector of doubles
Width of the beam at locations z, vector of doubles
Length of the beam at locations z, vector of doubles
Ellipticity of the beam at locations z, vector of doubles
Diameter of waist/focus of beam, double
Location at optical axis of waist/focus, double
Rayleigh length of beam,, double
Far-field divergence angle [rad] of the beam, double
Beam propagation ratio (quality) M2, double
Coefficients of 2nd order polynomial describing beam diameter
propagation, vector of 3 doubles
Diameter of waist/focus in xz-plane, double
Location of waist/focus in xz-plane, double
Rayleigh length of beam in xz-plane, double
Far-field divergence angle [rad] in xz-plane, double
Beam propagation ratio M2 in xz-plane, double
Coeff. of 2nd order polynomial describing diameter
propagation in xz-plane, vector of 3 doubles
Diameter of waist/focus in yz-plane, double
6
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
z0y
zRy
divy
M2y
Cy
Location of waist/focus in yz-plane, double
Rayleigh length of beam in yz-plane, double
Far-field divergence angle [rad] in xz-plane, double
Beam propagation ratio M2 in yz-plane, double
Coeff. of 2nd order polynomial describing diameter
propagation in yz-plane, vector of 3 doubles
This datastructure allows also the characterization of simple astigmatic laser beams.
As the propagation of the beam diameter along the axis of propagation is described by a
second order polynomial, the fields containing the vectors z, dr, dx, dy and eta should,
at least, hold three elements. Only then the other fields of the data structure are defined.
The function iso11146 of the Laser Toolbox can be used to calculate the data fields of
the beam structure from the data fields of the pdd structure.
2.3
Temperature profile (temp)
Table 3 shows the fields of the data structure, referred to here as temp (short for temperature), holding data related to a 3D temperature profilei.e temperature rise T (x, y, z) [K],
e.g. induced by absorbed laser energy. In the case a transient temperature distribution
is defined, at specified time instances t [s], an array of this data structure is constructed.
Then, each entry of the array holds a temp structure defined in Table 3, one for each
every instant t specified. Note the similarity of this data structure to the structure pdd
of the power density distribution(s).
Table 3 Data structure temp holding 3D temperature profile(s).
FIELD
DESCRIPTION
name
Identifier
x
x coordinates of T(x,y,z)
y
y coordinates of T(x,y,z)
z
z coordinates of T(x,y,z)
Txy
Values T(x,y,z)
t
Time t>=0 [s]
2.4
Material
Table 4 shows the fields of the data structure, referred to here as mat, holding material
properties. It should be noted that, some data fields are optional. In the case the material
properties are temperature dependent, an array of this data structure is constructed.
Then, each entry of the array holds a material structure defined in Table 4, one for each
temperature. Note that, regarding this aspect, the similarity of this data structure to
the data structures pdd and temp.
Table 4 Data structure material holding material properties
FIELD
DESCRIPTION
A
Absorption*
7
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
lambda Laser wavelength(s), scalar or vector of doubles*
n
Refractive index/indices*
k
Extinction coefficient(s)*
rho
Density [kg/m3]
K
Heat conductivity [W/(mK)]
Cp
Heat capacity [J/K]
Tm
Melt temperature [K]
Tv
Vaporisation temperature [K]
* defined at wavelengths specified by lambda
3
Functions by category
The functions of the Laser Toolbox are easy to analyze and easily modified, in the case
the user needs to extend or adapt the functionality of the scripts. In the remainder of
this section, the usage of these functions are illustrated by examples.
3.1
3.1.1
Power density distribution
GAUSS
A Gaussian power density distribution in an xy-plane is defined by
 Ã

√ !2
8P
2 2
I(x, y) =
exp −
· (x2 + y 2 )
2
πd
d
(1)
where P [W] is the laser power and d [m] the diameter of the power density distribution.
PDD=GAUSS(P,d) returns a structure (struct) PDD with a Gaussian power density distribution of power P [W] and diameter d [m].
PDD=GAUSS(P,d,N) returns the struct PDD of which the Gaussian power density PDD.ixy
[W/m2 ] is a N -by-N matrix, and the corresponding x and y vectors have length N. If
not specified N equals 128.
PDD=GAUSS(P,d,X,Y) returns the struct PDD of a Gaussian power density distribution
at locations defined by the vectors X and Y.
3.1.2
TEMPL
The power density distribution of a Gauss-Laguerre Transverse Electro Magnetic (TEM)
mode, designated by the integer mode numbers p and l, in an xy-plane is defined by
µ
Ipl (r, ϕ) = I0
8r2 M 2
d2
¶l ·
µ
Lpl
8r2 M 2
d2
¶¸2
8
µ
¶
8r2 M 2
cos (lϕ) exp −
d2
2
(2)
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
where I0 [W·m−2 ] denotes the intensity scale factor, d the diameter of the profile and
M 2 ≥ 1 the times-diffraction-limited-factor, or short beam quality number. The beam
diameter and the beam quality number are defined according to the ISO11146 standard.
Finally, Llp (·) denotes the generalized Laguerre polynomial of order p and index l. The
intensity scale factor I0 , expressed in the modes numbers and the total laser power P ,
reads

8M 2


l=0
 πd2 P ,
I0 =
(3)

16M 2 p!

P , l = 1, 2, 3, . . .
 2
πd (p + l)!
For Gauß-Laguerre modes the times-diffraction-limited-factor equals M 2 = 2p + l + 1.
In stead of polar coordinates (r, ϕ) carthesian coordinates are returned by the function
TEMPL.
PDD=TEMPL(p,l,P,d) returns a structure (struct) PDD with a laser power density distribution of a passive laser resonator in Gauss- Laguerre mode (TEMpl) with scalar mode
numbers p and l, power P [W] and diameter d [m].
PDD=TEMPL(p,l,P,d,N) returns the struct PDD of which the power density PDD.ixy
[W/m2 ] is a N-by-N matrix, and the corresponding x- and y-vectors have length N. If
not specified N equals 128.
PDD=TEMPL(p,l,P,d,X,Y) returns the struct PDD of the power density distribution at
locations defined by the vectors X and Y.
3.1.3
TEMNN
The power density distribution of a Gauss-Herimte Transverse Electro Magnetic (TEM)
mode, designated by the integer mode numbers m and n, in an xy-plane is defined by
!
"
à √ √
µ
¶#2
−4x2 (2m + 1)
2x 2 2m + 1
m
exp
Imn (x, y) = I0 H
×
dx
d2x
!
"
à √ √
µ
¶#2
−4y 2 (2n + 1)
2y 2 2n + 1
n
exp
H
dy
d2y
where H m (·) denotes the mth order Hermite polynomial, dx [m] and dy [m] the beam
length and width respectively. The width and length are defined according to the
ISO11146. The intensity scale factor I0 , expressed in the modes numbers and the total
laser power P , reads
p
23−m−n (2m + 1)(2n + 1)
I0 =
P
(4)
n!m!πdx dy
The times-diffraction-limited-factor for Gauß-Hermite modes equals M 2 = m + n + 1.
9
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
PDD=TEMmn(m,n,P,d) returns a structure (struct) PDD with a laser power density distribution of a passive laser resonator in Gauss-Hermite mode (TEMmn ) with scalar mode
numbers m and n, power P [W] and where diameter d [m] is a 2-element vector with
dimensions of the distribution in x and y direction.
PDD=TEMMN(m,n,P,d,N) returns the struct PDD of which the power density PDD.ixy
[W/m2 ] is a N-by-N matrix, and the corresponding x- and y-vectors have length N. If
not specified N equals 128.
PDD=TEMMN(m,n,P,d,X,Y) returns the struct PDD of the power density distribution at
locations defined by the vectors X and Y.
3.1.4
TOPHAT
A Top Hat power density distribution in an xy-plane is defined by
³ 2´ p
(
P/ π d4 ,
x2 + y 2 ≤ d2
I(x, y) =
p
0,
x2 + y 2 > d2
(5)
where d [m] is the diameter of the power density profile, and P [W] the total laser power.
PDD=TOPHAT(P,d) returns a structure (struct) PDD with a Top Hot power density distribution of power P [W] and diameter d [m].
PDD=TOPHAT(P,d,N) returns the struct PDD of which the Top Hat power density PDD.ixy
[W/m2 ] is a N-by-N matrix, and the corresponding x and y vectors have length N. If not
specified N equals 128.
PDD=TOPHAT(P,d,X,Y) returns the struct PDD of the power density distribution at locations defined by the vectors X and Y.
3.1.5
RECTUNIF
A Rectangular Uniform power density distribution in an xy-plane is defined by
(
P
dx dy , {(x, y) ∈ R, |x| ≤ dx & |y| ≤ dy }
I(x, y) =
0
elsewhere
(6)
where dx [m] and dy [m] are the dimensions of the power density profile, and P [W] the
total laser power.
PDD=RECTUNIF(P,d) returns a structure (struct) PDD with a rectangular uniform power
density distribution of power P [W] and where diameter d [m] is a 2-element vector with
dimensions of the distribution in x and y direction.
PDD=RECTUNIF(P,d,N) returns the struct PDD of which the power density PDD.ixy [W/m2 ]
is a N-by-N matrix, and the corresponding x- and y-vectors have length N. If not specified
N equals 128.
10
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
PDD=RECTUNIF(P,d,X,Y) returns the struct PDD of the power density distribution at
locations defined by the vectors X and Y.
3.1.6
T2SURFSRC
Besides the calculation of the temperature distribution, given the intensity profile I and
the function W , see equation (11) also the inverse problem can be solved by applying
the FFT method, see section 3.3.3. That is, given a desired temperature distribution T
and the function W , the required intensity profile I inducing the desired temperature
field can be determined, by rewriting equation (20) as
F2 {I} =
1
F2 {T } [F2 {W }]−1
A
(7)
and by applying the inverse Fourier transform. Then, the intensity profile reads,
I=
1 −1
F {F2 {T } [F2 {W }]−1 }
A 2
(8)
This is a very powerful method as it allows the calculation of the required intensity profile directly from any desired temperature distribution. It is evident that this method
will only yield a feasible intensity profile (I(x, y) ≥ 0 ∀ (x, y) ∈ R2 ), if the desired temperature field is physically feasible.
PDD=T2SURFSRC(MAT,T,V) returns a PDD struct containing a power density distribution,
which, when absorbed at the surface (z=0) generates the 2D temperature profile struct
T in a semi-inifite material MAT, when the PDD moves at velocity V [m/s] relative to the
material. The x and y dimensions of PDD are defined by the x and y coordinates of PDD.
3.1.7
MDFREAD
PDD=MDFREAD(FILENAME) reads the data from a file (extension *.mdf), created by the
”LaserDiagnoseSoftware” (version 2.81) by Primes GmbH representing the power density profile(s) (caustic) of a laser beam measured by the FocusMonitor of Primes
GmbH (http://www.primes.de) and returns an array of PDD stucts (one for each plane),
with the following fields
name
filename
fileid
comment
px
py
rangexy
z
posxy
amp
(FocusMonitor, string)
(Filename, string)
(File ID, string)
(Comments, string)
(No of pixels along x-axis, integer)
(No of pixels along y-axis, integer)
(Row vector with measuring range in x [m] and y [m] direction)
(z-position [m] along the axis of propagation)
(Row vector with x [m] and y [m] position of measuring range)
(Amplification of the sensor signal [dB], double)
11
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
average
offset
lambda
power
foclen
datestr
timestr
dataxy
x
y
dataxy
ixy
(Number of averages, integer)
(Offset (noise level) of data, integer)
(Wavelegth laser [m])
(Laser power [W])
(Focal length [m])
(Date, string)
(Time, string)
(Data, px*py matrix, integers)
(x coordinates, vector of px elements)
(y coordinates, vector of py elements)
(Data, px*py matrix, integers)
(px*py matrix power density [W/m^2])
If FILENAME is ommitted, a dialog box for the user to select a filename is displayed.
3.1.8
UFFREAD
PDD=UFFREAD(FILENAME) reads the data from a file (D*.*) created by the ”Laserscope”
by Prometec GmbH representing the power density profile (caustic) of a laser beam
measured by the Laserscope UFF100 of Prometec GmbH (http://www.prometec.de)
and returns a PDD stuct, with the following fields
name
filename
comment
px
py
focus
amp
windowsize
windowcenterx
windowcentery
versionsensor
versionuff
power
datestr
timestr
x
y
ixy
(Prometec UFF100 Laserscope, string)
(File ID, string)
(Comments, string)
(No of pixels along x-axis, integer)
(No of pixels along y-axis, integer)
(Integer)
(Amplification of the sensor signal, integer)
(Window size, integer)
(x coordinate of window center, 48x1 double)
(y coordinate of window center, 48x1 double)
(Version sensor, integer)
(Version UFF, integer)
(Laser power [W])
(Date, string)
(Time, string)
(x coordinates, vector of px elements)
(y coordinates, vector of py elements)
(px*py matrix power density [W/m^2])
If FILENAME is ommitted, a dialog box for the user to select a filename is displayed.
12
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
3.1.9
PLOTPDD
PLOTPDD(PDD) plots a contour plot, two cross section as well as a parametric mesh of
the power density profile(s) in the struct PDD; one figure for each plane.
3.1.10
DISPPDD
DISPPDD(PDD) displays the characteristics of each plane of a power density profile struct
PDD.
S=DISPPDD(PDD) returns a cell array S of strings of the characteristics of each plane.
3.2
Laser beam propagation parameters
The ISO11146 standard governs test methods for laser beam widths, divergence angles
and beam propagation ratios.
3.2.1
ISO11146
BEAM=ISO11146(PDD) returns a strcut BEAM containing the propagation parameters (or
ratio’s) according to the international standard ISO11146-1 Lasers and laser-related
equipment - test methods for laser beam widths, divergence angles and beam propagation ratios - part 1: Stigmatic and simple astigmatic beams (2005), with the following
(optional) fields
name
filename
wavelength
z
mx
my
vx
vy
dx
dy
dr
eta
(Identifier, string)
(Filename, string)
(Laser wavelength [m], double)
(z-coordinates along optical axis, vector of doubles)
(1st moment at all planes in x direction, vector of doubles)
(1st moment at all planes in y direction, vector of doubles)
(2nd moment (variance) at all planes in x direction, vector of doubles)
(2nd moment (variance) at all planes in y direction, vector of doubles)
(Width of PDD at all planes in x direction, vector of doubles)
(Length of PDD at all planes in x direction, vector of doubles)
(Diameter of PDD at all planes in x direction, vector of doubles)
(Elipticity dx/dy of PDD at all planes in x direction, vector of doubles)
If PDD holds three planes or more the following fields are also returned
Cx
z0x
d0x
divx
zRx
M2x
Cy
z0y
(Coefficients of 2nd order polynomial fit of PDD widths, vector of 3 doubles)
(Location of focus/waist [m] along optical axis in XZ plane, double)
(Width of focus/waist [m] in XZ plane, double)
(Full fair-field divergence angle [mrad] in XZ plane, double)
(Rayleigh length [m] in XZ plane, double)
(Times-limited-diffraction number (beam quality) in XZ plane, double)
(Coefficients of 2nd order polynomial fit of PDD widths, vector of 3 doubles)
(Location of focus/waist [m] along optical axis in YZ plane, double)
13
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
d0y
divy
zRy
M2y
Cr
z0r
d0r
divr
zRr
M2r
3.2.2
(Length of focus/waist [m] in YZ plane, double)
(Full fair-field divergence angle [mrad] in YZ plane, double)
(Rayleigh length [m] in YZ plane, double)
(Times-limited-diffraction number (beam quality) in YZ plane, double)
(Coefficients of 2nd order polynomial fit of PDD widths, vector of 3 doubles)
(Location of focus/waist [m] along optical axis, double)
(Diameter of focus/waist [m], double)
(Full fair-field divergence angle [mrad], double)
(Rayleigh length [m], double)
(Times-limited-diffraction number (beam quality), double)
CAUSTIC
CAUSTIC(BEAM) plots the beam dimensions (width, length, diameter) of BEAM struct
along the optical axis z. If three or more planes are defined in BEAM also the corresponding 2n order polynomial fits are plotted.
3.2.3
DISPBEAM
DISPBEAM(BEAM) displays the characteristics of laser beam struct BEAM.
S=DISPPDD(BEAM) returns a cell array of strings of the characteristics of the laser beam.
3.3
3.3.1
Temperature models
TPNTSRC
Assume a semi-infinite substrate with constant material parameters, and a point source
of heat of P [W] on the substrate’s surface. This line heat source will induce the following
2D temperature (rise) in the substrate when it is moving at a constant velocity of v [m/s]
in the x-direction relative to the surface
h v ³
´i
p
1
p
exp −
x + x2 + y 2 + z 2
T (x, y, z, t) =
(9)
2κ
2πK x2 + y 2 + z 2
where K denotes the thermal conductivity [W/(m· K)] and κ the thermal diffusitivity
[m2 /s] of the material.
T=TPNTSRC(MAT,P,V,X,Y) returns the 3D temperature profile T at x, y and z coordinates
defined by vectors X, Y, and Z in a semi-inifite material MAT due to a point heat source
of P [W] moving at velocity V [m/s] in the positive x-direction relative to the material.
3.3.2
TLINESRC
Assume a semi-infinite substrate with constant material parameters, and a semi-infinite
line source of heat of Q [W/m] perpendicular to the substrate’s surface. This line heat
source will induce the following 2D temperature (rise) in the substrate when it is moving
14
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
at a constant velocity of v [m/s] in the x-direction relative to the surface∗
à p
!
µ
¶
Q
−vx
v x2 + y 2
T (x, y) =
exp
K0
2πK
2κ
2κ
(10)
where K denotes the thermal conductivity [W/(m· K)] and κ the thermal diffusitivity
[m2 /s] of the material. And K0 is the modified Bessel function of order 0.
T=TLINESRC(MAT,Q,V,X,Y) returns the 2D temperature profile T at x and y coordinates
defined by vectors X and Y, in a semi-inifite material MAT due to a line heat source of Q
[W/m] moving at velocity V [m/s] in the positive x-direction relative to the material.
3.3.3
TSURFSRC
Assume a semi-infinite substrate with constant material parameters, and a surface heat
source (absorbed laser energy) defined by the power density I(x, y) [W/m2 ] moving over
the substrate’s surface. This surface heat source will induce the following 3D temperature
(rise) in the substrate when it is moving at a constant velocity of v [m/s] in the x-direction
relative to the surface of
Z∞ Z∞
AI(x0 , y 0 )W (x, y, z, x0 , y 0 , v)U (R, t, v) dx0 dy 0
T (x, y, z, t) =
(11)
−∞ −∞
where R =
p
x2 + y 2 + z 2 and
W (x, y, z, x0 , y 0 , v) =
h v ¡
¢i
1
exp −
x − x0 + R
2πKR
2κ
(12)
and
ϑ
U (R, t, v) = √
π
Z∞
√
1/ κt
" ¡
¢2 #
ϑξ 2 − v/κ
exp −
dξ
4ξ 2
·
µ
¶
µ
µ
¶¶¸
1
R − vt
R + vt
ϑv/κ
√
√
= 1 − erf
+e
1 − erf
2
2 κt
2 κt
(13)
in which K denotes the thermal conductivity [W/(m· K)] and κ the thermal diffusitivity
[m2 /s] of the material.
This expression can be evaluated numerically in two ways: multi-integration and
using the Fast Fourier Transform (FFT). For simplicity the steady state situation t → ∞,
so U = 1, is considered only below.
∗
J.M. Dowden. The Mathematics of Thermal Modeling. An Introduction to the theory of laser
material processing. Chapman & Hall, 2001, equation (3.21)
15
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
Multi-integration The laser intensity profile I(x, y) is approximated as piecewise
constant with the value I(xi , yj ) = I(x, y) in the region
½
¾
¯
L
L
L
L
2¯
(xi , yj ) ∈ R xi −
≤ x ≤ xi +
∧ yj −
≤ y ≤ yj +
(14)
2N
2N
2N
2N
representing a square grid of N × N equidistant points in the xy-plane,
·
¸
L
L L
L
(x, y) ∈ − ≤ x ≤ , − ≤ y ≤
2
2
2
2
(15)
The temperature distribution (11) with U 0 = 1, can be numerically evaluated as
·
¸
N N
AL2 X X I(xi , yj )
v(x − xi ) + ϑ0
T (x, y, z, t) = T0 +
exp −
2πKN 2
ϑ0
2κ
(16)
i=1 j=1
p
where ϑ0 = (x − xi )2 + (y − yj )2 + z 2 . As ϑ0 is a factor in the denominator of the
function W it represents a singularity, which causes numerical problems if ϑ0 ¿ 1. In
that case the function W should be replaced by W0 , which is defined by
³ vz ´
1
W0 (x, y, z, xi , yj , v) =
exp −
×
2πK∆x∆y
2κ
¶
µ
¶
·
µ
w2 + ∆y
w1 + ∆x
(17)
+ ∆y ln
∆x ln
w1 − ∆x
w2 − ∆y
³
³w ´
³ w ´´
i
1
2
−4z tan−1
+ tan−1
+ 2zπ
2z
2z
where ∆x = ∆y = L/N and
s
s
∆x2 + 4z 2 cos2 β
∆y 2 + 4z 2 sin2 β
,
w
=
,
w1 =
2
cos2 β
sin2 β
µ
¶
−1 ∆y
β = tan
∆x
(18)
In the case z = 0 and ϑ0 ¿ 1, function W should be replaced by limz→0 W0 . The number
of operations, which are required to evaluate (16) for a xy-plane of N × N nodal points,
is proportional to N 4 . This is denoted by O(N 4 ). For accuracy reasons, N must be
large (typically N > 250).
Two-dimensional Fast Fourier Transform Even fewer operations are required
when the two-dimensional Fast Fourier Transform (FFT) algorithm is applied to evaluate (11) numerically. For that purpose it is noted that the steady state version (U = 1)
of equation (11) can be rewritten as
Z∞ Z∞
AI(x0 , y 0 , t0 )W (x − x0 , y − y 0 , z, v) dx0 dy 0
T (x, y, z) =
−∞ −∞
16
(19)
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
which is a convolution of the intensity profile AI and the function W , with respect to
the coordinates x and y, — i.e. T = AI ∗ W , where ∗ denotes the convolution operator.
Hence, by applying the two-dimensional Fourier transform F2 {·}, equation (19) can be
rewritten as
F2 {T } = F2 {AI ∗ W } = AF2 {I}F2 {W }
(20)
where the well known equality F2 {f ∗ g} = F2 {f }F2 {g} has been applied. Finally, by
applying the inverse Fourier transform to this expression yields,
T = AF2−1 {F2 {I} F2 {W }}
(21)
By replacing the continuous convolution by discrete convolution, and using the twodimensional FFT method, the temperature distribution (21) can be calculated numerically in only O(N 2 ) operations. This method was used to calculate the temperature
profile in a substrate.
A basic condition for the two-dimensional Fourier transformation is that the function
to be transformed is periodic in the xy-plane. This is not the case for the intensity profile
I and the function W , and will introduce errors in the evaluation of the temperature
distribution. These errors are introduced by the truncation of I and W —i.e. if L (grid
size) is chosen too small, then for |x| > L and |y| > L, W (x, y) 6= 0 and I(x, y) 6= 0.
The errors are significant for low temperatures only. To reduce these errors, the region
of calculation should be chosen sufficiently large. As a rule of thumb, one should choose
L > 3d, where d is the diameter of the laser beam.
T=TSURFSRC(MAT,PDD,V) returns steady state (time is infinity) 3D temperature profile
T of a struct TEMP in a semi-inifite material MAT due to a surface heat source defined by
a single plane in PDD moving at velocity V [m/s] relative to the material. The x and y
dimensions of T are defined by the x and y coordinates of PDD. The z coordinates (depth)
are 0, dh /2 and dh [m] by default where dh is the heat penetration depth.
T=TSURFSRC(MAT,PDD,V,TIME) returns an array of temperature structs T; one struct per
time instance defined by vector TIME. If not defined TIME=Inf.
T=TSURFSRC(MAT,PDD,V,TIME,Z) returns an array of temperature structs T; one struct
per time instance defined by vector TIME, at z coordinates [m] defined by vector Z.
T=TSURFSRC(MAT,PDD,V,TIME,Z,METHOD) returns an array of temperature structs T at
time instances, at z coordinates [m] Z, using the calculation method METHOD. METHOD is
a string equalling ’mulitint’ (default), which slow(er) but accurate, or ’fft’ which is
fast but inacurrate.
3.3.4
PLOTTEMP
PLOTTEMP(TEMP) plots a contour plot and a parametric mesh of the 3D temperature
profile at the minimum z-corrdinate specified in the struct TEMP, as well as corresponding
cross sections in the xz plane and the yz plane.
17
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
3.4
General functions
3.4.1
OVERLAP
OVERLAP(D,F,V) plots 10 circular laser pulses of diameter D [m], at pulse frequency F
[Hz], at velocity V [m/s] of the laser beam relative to the substrate.
3.4.2
MATERIALS
MATERIALS defines structs with materials parameters and saves these workspace variable(s) to disk. The structs contain the following fields
name
A
lambda
K
rho
Cp
kappa
T
Tm
Tv
3.4.3
(Indentifier, string)
(Absorptivity, ((vector of) double(s))
(Laser wavelength [m] for which A is defined, (vector of) double(s))
(Thermal conductivity [W/(m*K), double]
(Density [kg/m^3], double)
(Thermal heat capcity [J/(kg*K)], double)
(Thermal diffusitivity [m^2/s], double)
(Temperature [K] for which the above parameters are defined, double)
(Melt temperature [K], double)
(Vaporization temperature [K], double)
MOMENTXY
[MX,MY,VX,VY,VXY]=MOMENTSXY(X,Y,Ixy) returns the first order moments MX [m] and
MY [m] in x and y direction, of the matrix Ixy [W/m2 ] holding values of power density
distribution, at the coordinates specified by vectors X and Y, as well as the corresponding
second order moments (variance) VX [m2 ] and VY [m2 ], and cross variance VXY.
This function is used by ISO11146.
3.4.4
NUM2PSTR
T = NUM2PSTR(x) converts the scalar x into a string representation T with about 4
digits and a prefix of the metric system. This is useful for labeling plots with the TITLE,
XLABEL, YLABEL, and TEXT commands.
3.4.5
HERMITE
The nth degree Hermite polynomial H n (·) reads

n=0
 1
n
2x
n=1
H (x) =

2xH n−1 (x) − 2(n − 1)H n−2 (x) n > 1
18
(22)
c 2010 G.R.B.E. Römer — Matlab Laser Toolbox User Manual — September 23, 2010.
°
Y=HERMITE(N,X) returns the Nth degree Hermite polynomial of X, where N is a nonnegative integer and X a real scalar.
This function is used by TEMMN.
3.4.6
LAGUERRE
The Laguerre polynomial Lnl (·) of order n ≥ 0 and index l ≥ 0 reads

n=0
 1
1−x+l
n=1
Lnl (x) =
 1
n−1
n−2
1
(x) − n (n + l − 1)Ll (x) n > 1
n (2n + l − 1 − x)Ll
(23)
Y=LAGUERRE(N,L,X) returns the generalized Laguerre polynomial of order N and index
L of X, where N and L are a non-negative integers and is X a real scalar.
This function is used by TEMPL.
4
Known issues
1. Some scripts can/will be optimized for speed even more.
19