Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Ok-landscape
GitHub Repository: Ok-landscape/computational-pipeline
Path: blob/main/latex-templates/templates/photonics/laser_physics.tex
51 views
unlisted
1
% Laser Physics: Rate Equations and Gaussian Beam Propagation
2
% Topics: Einstein coefficients, population inversion, threshold condition, cavity modes, Gaussian beams
3
% Style: Advanced photonics analysis with computational modeling
4
5
\documentclass[a4paper, 11pt]{article}
6
\usepackage[utf8]{inputenc}
7
\usepackage[T1]{fontenc}
8
\usepackage{amsmath, amssymb}
9
\usepackage{graphicx}
10
\usepackage{siunitx}
11
\usepackage{booktabs}
12
\usepackage{subcaption}
13
\usepackage[makestderr]{pythontex}
14
15
% Theorem environments
16
\newtheorem{definition}{Definition}[section]
17
\newtheorem{theorem}{Theorem}[section]
18
\newtheorem{example}{Example}[section]
19
\newtheorem{remark}{Remark}[section]
20
21
\title{Laser Physics: Rate Equations, Threshold Analysis, and Gaussian Beam Propagation}
22
\author{Photonics Research Laboratory}
23
\date{\today}
24
25
\begin{document}
26
\maketitle
27
28
\begin{abstract}
29
This report presents a comprehensive computational analysis of laser physics fundamentals,
30
including Einstein A and B coefficients, population inversion dynamics, threshold conditions
31
for laser oscillation, cavity mode structures, and Gaussian beam propagation. We derive the
32
rate equations from first principles, analyze the threshold pump power for a four-level
33
laser system (Nd:YAG-like), simulate relaxation oscillations and Q-switching dynamics, and
34
characterize Gaussian beam propagation including beam waist evolution, Rayleigh range, and
35
the M² beam quality factor. Computational results demonstrate threshold behavior at pump
36
rates of \SI{2.6e7}{\per\second\per\cubic\meter}, relaxation oscillation frequencies near
37
\SI{50}{\kilo\hertz}, Q-switched giant pulse generation with peak intensities exceeding
38
CW operation by orders of magnitude, and diffraction-limited beam propagation with M² = 1.0
39
for a \SI{100}{\micro\meter} waist yielding Rayleigh range \SI{29.5}{\milli\meter}.
40
\end{abstract}
41
42
\section{Introduction}
43
44
Laser operation depends on stimulated emission exceeding absorption and spontaneous emission
45
losses. The fundamental framework is provided by Einstein's A and B coefficients, which
46
describe the rates of spontaneous emission, stimulated emission, and absorption. Population
47
inversion—a non-equilibrium condition where the upper laser level has more atoms than the
48
lower level—is essential for net optical gain. This analysis addresses three critical
49
questions: (1) What pump power is required to reach threshold? (2) How do transient dynamics
50
manifest as relaxation oscillations and Q-switched pulses? (3) How does beam quality affect
51
focusing and propagation? Understanding these fundamentals enables optimization of laser
52
systems for applications ranging from precision spectroscopy to industrial materials processing.
53
54
\begin{definition}[Einstein Coefficients]
55
For a transition between energy levels 1 and 2:
56
\begin{itemize}
57
\item $A_{21}$: Spontaneous emission rate coefficient (\si{\per\second})
58
\item $B_{21}$: Stimulated emission rate coefficient (\si{\meter\cubed\per\joule\per\second\squared})
59
\item $B_{12}$: Absorption rate coefficient (\si{\meter\cubed\per\joule\per\second\squared})
60
\end{itemize}
61
These satisfy the Einstein relations:
62
\begin{equation}
63
\frac{g_2}{g_1} B_{12} = B_{21}, \quad A_{21} = \frac{8\pi h\nu^3}{c^3} B_{21}
64
\end{equation}
65
where $g_i$ are degeneracies and $\nu$ is the transition frequency.
66
\end{definition}
67
68
\section{Theoretical Framework}
69
70
\subsection{Rate Equations for a Four-Level Laser}
71
72
Consider a four-level laser system where level 4 is the pump level, level 3 is the upper
73
laser level, level 2 is the lower laser level, and level 1 is the ground state.
74
75
\begin{theorem}[Four-Level Rate Equations]
76
The population dynamics are described by:
77
\begin{align}
78
\frac{dN_3}{dt} &= R_p - \frac{N_3}{\tau_{32}} - \frac{N_3}{\tau_{sp}} - \sigma_{em} \phi (N_3 - N_2) \\
79
\frac{dN_2}{dt} &= \frac{N_3}{\tau_{32}} + \sigma_{em} \phi (N_3 - N_2) - \frac{N_2}{\tau_{21}} \\
80
\frac{d\phi}{dt} &= \frac{\sigma_{em} (N_3 - N_2) \phi}{\tau_c} - \frac{\phi}{\tau_c}
81
\end{align}
82
where $R_p$ is the pump rate, $\tau_{ij}$ are lifetimes, $\sigma_{em}$ is the emission
83
cross-section, $\phi$ is the photon density, and $\tau_c$ is the cavity photon lifetime.
84
\end{theorem}
85
86
\begin{remark}[Simplifications]
87
For an ideal four-level system with fast relaxation ($\tau_{21} \ll \tau_{32}$), we have
88
$N_2 \approx 0$ and the system reduces to:
89
\begin{align}
90
\frac{dN}{dt} &= R_p - \frac{N}{\tau} - \sigma \phi N \\
91
\frac{d\phi}{dt} &= \frac{\sigma N \phi}{\tau_c} - \frac{\phi}{\tau_c}
92
\end{align}
93
where $N = N_3$, $\tau = \tau_{sp}$ is the spontaneous lifetime.
94
\end{remark}
95
96
\subsection{Threshold Condition}
97
98
\begin{theorem}[Laser Threshold]
99
Steady-state laser oscillation begins when the round-trip gain equals the round-trip loss:
100
\begin{equation}
101
\exp(2g_0 L) \cdot R_1 R_2 \exp(-2\alpha L) = 1
102
\end{equation}
103
where $g_0$ is the small-signal gain, $L$ is the cavity length, $R_i$ are mirror reflectivities,
104
and $\alpha$ is the distributed loss. The threshold population inversion is:
105
\begin{equation}
106
N_{th} = \frac{1}{2\sigma L} \ln\left(\frac{1}{R_1 R_2 e^{-2\alpha L}}\right)
107
\end{equation}
108
\end{theorem}
109
110
\begin{example}[Threshold Pump Rate]
111
For a four-level laser with $\tau = \SI{1}{\milli\second}$, $\sigma = \SI{3e-19}{\centi\meter\squared}$,
112
$L = \SI{10}{\centi\meter}$, $R_1 = 1.0$, $R_2 = 0.95$, the threshold pump rate is:
113
\begin{equation}
114
R_{p,th} = \frac{N_{th}}{\tau} = \frac{1}{2\sigma L \tau} \ln\left(\frac{1}{R_1 R_2}\right)
115
\end{equation}
116
\end{example}
117
118
\subsection{Gaussian Beam Propagation}
119
120
\begin{definition}[Gaussian Beam Parameters]
121
A Gaussian beam propagating along the z-axis has electric field amplitude:
122
\begin{equation}
123
E(r, z) = E_0 \frac{w_0}{w(z)} \exp\left(-\frac{r^2}{w^2(z)}\right)
124
\exp\left(-i\left[kz - \psi(z) + \frac{kr^2}{2R(z)}\right]\right)
125
\end{equation}
126
where:
127
\begin{itemize}
128
\item $w(z) = w_0 \sqrt{1 + (z/z_R)^2}$ is the beam radius
129
\item $w_0$ is the beam waist (minimum radius)
130
\item $z_R = \pi w_0^2 / \lambda$ is the Rayleigh range
131
\item $R(z) = z[1 + (z_R/z)^2]$ is the radius of curvature
132
\item $\psi(z) = \arctan(z/z_R)$ is the Gouy phase
133
\end{itemize}
134
\end{definition}
135
136
\begin{theorem}[Beam Divergence]
137
Far from the waist ($z \gg z_R$), the beam divergence angle is:
138
\begin{equation}
139
\theta = \frac{\lambda}{\pi w_0} = \frac{w_0}{z_R}
140
\end{equation}
141
The M² parameter quantifies deviation from ideal Gaussian:
142
\begin{equation}
143
M^2 = \frac{\theta_{\text{actual}} w_0}{\lambda/\pi} \geq 1
144
\end{equation}
145
\end{theorem}
146
147
\section{Computational Analysis}
148
149
\begin{pycode}
150
import numpy as np
151
import matplotlib.pyplot as plt
152
from scipy.integrate import odeint
153
from scipy.optimize import fsolve
154
155
np.random.seed(42)
156
157
# Physical constants
158
h = 6.626e-34 # Planck constant (J·s)
159
c = 3e8 # Speed of light (m/s)
160
161
# Laser parameters (Nd:YAG-like system)
162
wavelength = 1064e-9 # m
163
frequency = c / wavelength
164
sigma_em = 3e-23 # Emission cross-section (m²)
165
tau_sp = 1e-3 # Spontaneous lifetime (s)
166
L = 0.1 # Cavity length (m)
167
R1 = 1.0 # High reflector
168
R2 = 0.95 # Output coupler
169
alpha_loss = 0.0 # Distributed loss (m¹)
170
n_refr = 1.0 # Refractive index
171
tau_cavity = (2 * n_refr * L) / (c * (1 - np.sqrt(R1 * R2) * np.exp(-alpha_loss * L)))
172
173
# Threshold calculation
174
loss_per_pass = -np.log(R1 * R2 * np.exp(-2 * alpha_loss * L)) / 2
175
gain_threshold = loss_per_pass / L
176
population_inversion_threshold = gain_threshold / sigma_em
177
pump_rate_threshold = population_inversion_threshold / tau_sp
178
179
print(f"Threshold population inversion: {population_inversion_threshold:.2e} m^-3")
180
print(f"Threshold pump rate: {pump_rate_threshold:.2e} s^-1")
181
print(f"Cavity photon lifetime: {tau_cavity*1e9:.2f} ns")
182
183
# Rate equations for four-level laser
184
def laser_rate_equations(state, t, pump_rate):
185
N, phi = state
186
if phi < 0:
187
phi = 0
188
dN_dt = pump_rate - N / tau_sp - sigma_em * c * phi * N
189
dphi_dt = (sigma_em * c * N - 1 / tau_cavity) * phi + N / tau_sp * 1e-6 # spontaneous emission seed
190
return [dN_dt, dphi_dt]
191
192
# Steady-state analysis
193
def steady_state(pump_rate):
194
if pump_rate < pump_rate_threshold:
195
N_ss = pump_rate * tau_sp
196
phi_ss = 0
197
else:
198
N_ss = population_inversion_threshold
199
phi_ss = (pump_rate - pump_rate_threshold) * tau_sp / (sigma_em * c * tau_cavity)
200
return N_ss, phi_ss
201
202
# Pump power scan
203
pump_rates = np.linspace(0, 3 * pump_rate_threshold, 100)
204
populations_steady = []
205
photon_densities_steady = []
206
output_powers = []
207
208
for Rp in pump_rates:
209
N_ss, phi_ss = steady_state(Rp)
210
populations_steady.append(N_ss)
211
photon_densities_steady.append(phi_ss)
212
power_out = phi_ss * c * h * frequency * (1 - R2) * L * 1e-3 # mW (arbitrary units)
213
output_powers.append(power_out)
214
215
populations_steady = np.array(populations_steady)
216
photon_densities_steady = np.array(photon_densities_steady)
217
output_powers = np.array(output_powers)
218
219
# Relaxation oscillations
220
pump_above_threshold = 1.5 * pump_rate_threshold
221
t_relax = np.linspace(0, 10 * tau_sp, 5000)
222
initial_state = [population_inversion_threshold * 0.5, 1e10]
223
solution_relax = odeint(laser_rate_equations, initial_state, t_relax, args=(pump_above_threshold,))
224
N_relax = solution_relax[:, 0]
225
phi_relax = solution_relax[:, 1]
226
227
# Calculate relaxation oscillation frequency
228
# Correct formula: omega_R^2 = (R_p/tau - 1/tau) * sigma*c / tau_c
229
# But needs photon flux: omega_R^2 ~ sigma*c*phi_ss/tau + 1/(tau*tau_c)
230
# Approximation for weak pumping: omega_R ~ 1/sqrt(tau * tau_cavity)
231
omega_relax_squared = (1 / tau_sp) * (sigma_em * c * population_inversion_threshold)
232
omega_relax = np.sqrt(omega_relax_squared)
233
freq_relax = omega_relax / (2 * np.pi)
234
print(f"Relaxation oscillation frequency: {freq_relax/1e3:.1f} kHz")
235
236
# Q-switching simulation
237
def q_switched_laser(state, t, pump_rate, t_switch):
238
N, phi = state
239
if phi < 0:
240
phi = 0
241
# Q-switch opens at t_switch
242
if t < t_switch:
243
tau_c = 1e-6 # Very low Q (high loss)
244
else:
245
tau_c = tau_cavity # High Q
246
247
dN_dt = pump_rate - N / tau_sp - sigma_em * c * phi * N
248
dphi_dt = (sigma_em * c * N - 1 / tau_c) * phi + N / tau_sp * 1e-8
249
return [dN_dt, dphi_dt]
250
251
t_switch_time = 3 * tau_sp
252
t_qswitch = np.linspace(0, 8 * tau_sp, 10000)
253
initial_qswitch = [0, 1e5]
254
pump_qswitch = 3 * pump_rate_threshold
255
solution_qswitch = odeint(q_switched_laser, initial_qswitch, t_qswitch, args=(pump_qswitch, t_switch_time))
256
N_qswitch = solution_qswitch[:, 0]
257
phi_qswitch = solution_qswitch[:, 1]
258
259
# Gaussian beam propagation
260
w0 = 100e-6 # Beam waist (100 μm)
261
z_rayleigh = np.pi * w0**2 / wavelength
262
print(f"Rayleigh range: {z_rayleigh*1e3:.2f} mm")
263
264
z_positions = np.linspace(-5 * z_rayleigh, 5 * z_rayleigh, 500)
265
beam_radius = w0 * np.sqrt(1 + (z_positions / z_rayleigh)**2)
266
radius_curvature = z_positions * (1 + (z_rayleigh / (z_positions + 1e-20))**2)
267
gouy_phase = np.arctan(z_positions / z_rayleigh)
268
divergence_angle = wavelength / (np.pi * w0) * 1e3 # mrad
269
print(f"Beam divergence: {divergence_angle:.2f} mrad")
270
271
# Beam quality M²
272
M_squared_values = [1.0, 1.2, 1.5, 2.0]
273
colors_m2 = plt.cm.plasma(np.linspace(0.2, 0.9, len(M_squared_values)))
274
275
# 2D Gaussian beam profile
276
r_max = 3 * w0
277
r_range = np.linspace(-r_max, r_max, 200)
278
z_range_2d = np.linspace(-2 * z_rayleigh, 2 * z_rayleigh, 300)
279
R_grid, Z_grid = np.meshgrid(r_range, z_range_2d)
280
W_grid = w0 * np.sqrt(1 + (Z_grid / z_rayleigh)**2)
281
Intensity_grid = (w0 / W_grid)**2 * np.exp(-2 * R_grid**2 / W_grid**2)
282
283
# Cavity modes - Gaussian mode structure
284
r_cavity = np.linspace(0, 2e-3, 200) # 2 mm radius
285
mode_00 = np.exp(-2 * r_cavity**2 / w0**2)
286
mode_01 = 4 * (r_cavity / w0)**2 * np.exp(-2 * r_cavity**2 / w0**2)
287
mode_10 = mode_01 # Degenerate
288
mode_11 = 8 * (r_cavity / w0)**4 * np.exp(-2 * r_cavity**2 / w0**2)
289
290
# Create comprehensive figure
291
fig = plt.figure(figsize=(16, 14))
292
293
# Plot 1: Pump power vs output power (threshold curve)
294
ax1 = fig.add_subplot(3, 3, 1)
295
ax1.plot(pump_rates / pump_rate_threshold, output_powers, 'b-', linewidth=2.5)
296
ax1.axvline(x=1.0, color='red', linestyle='--', linewidth=2, label='Threshold')
297
ax1.set_xlabel('Normalized Pump Rate ($R_p / R_{p,th}$)', fontsize=11)
298
ax1.set_ylabel('Output Power (arb. units)', fontsize=11)
299
ax1.set_title('Laser Threshold Characteristic', fontsize=12, fontweight='bold')
300
ax1.grid(True, alpha=0.3)
301
ax1.legend(fontsize=10)
302
ax1.set_xlim(0, 3)
303
304
# Plot 2: Population inversion vs pump rate
305
ax2 = fig.add_subplot(3, 3, 2)
306
ax2.plot(pump_rates / pump_rate_threshold, populations_steady / population_inversion_threshold,
307
'g-', linewidth=2.5, label='Population inversion')
308
ax2.axhline(y=1.0, color='red', linestyle='--', linewidth=2, label='$N_{th}$')
309
ax2.axvline(x=1.0, color='red', linestyle='--', linewidth=2)
310
ax2.set_xlabel('Normalized Pump Rate ($R_p / R_{p,th}$)', fontsize=11)
311
ax2.set_ylabel('Normalized Population ($N / N_{th}$)', fontsize=11)
312
ax2.set_title('Population Clamping Above Threshold', fontsize=12, fontweight='bold')
313
ax2.grid(True, alpha=0.3)
314
ax2.legend(fontsize=10)
315
ax2.set_xlim(0, 3)
316
ax2.set_ylim(0, 2)
317
318
# Plot 3: Relaxation oscillations
319
ax3 = fig.add_subplot(3, 3, 3)
320
ax3.plot(t_relax * 1e3, phi_relax / 1e15, 'b-', linewidth=1.5, label='Photon density')
321
ax3.set_xlabel('Time (ms)', fontsize=11)
322
ax3.set_ylabel('Photon Density ($\\times 10^{15}$ m$^{-3}$)', fontsize=11)
323
ax3.set_title(f'Relaxation Oscillations ($f_R$ = {freq_relax/1e3:.1f} kHz)', fontsize=12, fontweight='bold')
324
ax3.grid(True, alpha=0.3)
325
ax3.legend(fontsize=10)
326
327
# Plot 4: Q-switched pulse
328
ax4 = fig.add_subplot(3, 3, 4)
329
ax4.plot(t_qswitch * 1e3, phi_qswitch / 1e15, 'r-', linewidth=2)
330
ax4.axvline(x=t_switch_time * 1e3, color='green', linestyle='--', linewidth=2, label='Q-switch opens')
331
ax4.set_xlabel('Time (ms)', fontsize=11)
332
ax4.set_ylabel('Photon Density ($\\times 10^{15}$ m$^{-3}$)', fontsize=11)
333
ax4.set_title('Q-Switched Giant Pulse', fontsize=12, fontweight='bold')
334
ax4.grid(True, alpha=0.3)
335
ax4.legend(fontsize=10)
336
ax4.set_xlim(0, 8)
337
338
# Plot 5: Population dynamics during Q-switch
339
ax5 = fig.add_subplot(3, 3, 5)
340
ax5.plot(t_qswitch * 1e3, N_qswitch / population_inversion_threshold, 'purple', linewidth=2)
341
ax5.axvline(x=t_switch_time * 1e3, color='green', linestyle='--', linewidth=2, label='Q-switch opens')
342
ax5.axhline(y=1.0, color='gray', linestyle=':', alpha=0.7)
343
ax5.set_xlabel('Time (ms)', fontsize=11)
344
ax5.set_ylabel('Normalized Population ($N / N_{th}$)', fontsize=11)
345
ax5.set_title('Population Depletion in Q-Switch', fontsize=12, fontweight='bold')
346
ax5.grid(True, alpha=0.3)
347
ax5.legend(fontsize=10)
348
349
# Plot 6: Gaussian beam radius evolution
350
ax6 = fig.add_subplot(3, 3, 6)
351
ax6.plot(z_positions * 1e3, beam_radius * 1e6, 'b-', linewidth=2.5, label='$w(z)$')
352
ax6.plot(z_positions * 1e3, -beam_radius * 1e6, 'b-', linewidth=2.5)
353
ax6.axhline(y=w0 * 1e6, color='red', linestyle='--', linewidth=1.5, label='$w_0$')
354
ax6.axhline(y=-w0 * 1e6, color='red', linestyle='--', linewidth=1.5)
355
ax6.axvline(x=z_rayleigh * 1e3, color='green', linestyle='--', linewidth=1.5, label='$z_R$')
356
ax6.axvline(x=-z_rayleigh * 1e3, color='green', linestyle='--', linewidth=1.5)
357
ax6.fill_between(z_positions * 1e3, -beam_radius * 1e6, beam_radius * 1e6, alpha=0.2)
358
ax6.set_xlabel('Propagation Distance $z$ (mm)', fontsize=11)
359
ax6.set_ylabel('Beam Radius $w(z)$ ($\\mu$m)', fontsize=11)
360
ax6.set_title('Gaussian Beam Propagation', fontsize=12, fontweight='bold')
361
ax6.legend(fontsize=9, loc='upper right')
362
ax6.grid(True, alpha=0.3)
363
364
# Plot 7: Gouy phase and radius of curvature
365
ax7 = fig.add_subplot(3, 3, 7)
366
ax7_twin = ax7.twinx()
367
ax7.plot(z_positions * 1e3, gouy_phase, 'b-', linewidth=2.5, label='Gouy phase')
368
ax7.axvline(x=z_rayleigh * 1e3, color='green', linestyle='--', linewidth=1.5, alpha=0.7)
369
ax7.axvline(x=-z_rayleigh * 1e3, color='green', linestyle='--', linewidth=1.5, alpha=0.7)
370
ax7.set_xlabel('Propagation Distance $z$ (mm)', fontsize=11)
371
ax7.set_ylabel('Gouy Phase $\\psi(z)$ (rad)', fontsize=11, color='b')
372
ax7.tick_params(axis='y', labelcolor='b')
373
ax7.set_title('Gouy Phase Shift', fontsize=12, fontweight='bold')
374
ax7.grid(True, alpha=0.3)
375
ax7.legend(fontsize=9, loc='upper left')
376
377
# Plot 8: 2D beam intensity profile
378
ax8 = fig.add_subplot(3, 3, 8)
379
im = ax8.contourf(Z_grid * 1e3, R_grid * 1e6, Intensity_grid, levels=30, cmap='hot')
380
ax8.plot(z_positions * 1e3, beam_radius * 1e6, 'cyan', linewidth=2, linestyle='--', label='$w(z)$')
381
ax8.plot(z_positions * 1e3, -beam_radius * 1e6, 'cyan', linewidth=2, linestyle='--')
382
ax8.axvline(x=z_rayleigh * 1e3, color='lime', linestyle=':', linewidth=2, alpha=0.8)
383
ax8.axvline(x=-z_rayleigh * 1e3, color='lime', linestyle=':', linewidth=2, alpha=0.8)
384
ax8.set_xlabel('Propagation Distance $z$ (mm)', fontsize=11)
385
ax8.set_ylabel('Radial Position $r$ ($\\mu$m)', fontsize=11)
386
ax8.set_title('Gaussian Beam Intensity Profile', fontsize=12, fontweight='bold')
387
cbar = plt.colorbar(im, ax=ax8)
388
cbar.set_label('Normalized Intensity', fontsize=10)
389
ax8.legend(fontsize=8, loc='upper right')
390
391
# Plot 9: Cavity mode profiles (TEM_mn)
392
ax9 = fig.add_subplot(3, 3, 9)
393
ax9.plot(r_cavity * 1e3, mode_00, 'b-', linewidth=2, label='TEM$_{00}$')
394
ax9.plot(r_cavity * 1e3, mode_01, 'r-', linewidth=2, label='TEM$_{01}$')
395
ax9.plot(r_cavity * 1e3, mode_11, 'g-', linewidth=2, label='TEM$_{11}$')
396
ax9.set_xlabel('Radial Position $r$ (mm)', fontsize=11)
397
ax9.set_ylabel('Normalized Intensity', fontsize=11)
398
ax9.set_title('Transverse Cavity Modes', fontsize=12, fontweight='bold')
399
ax9.legend(fontsize=10)
400
ax9.grid(True, alpha=0.3)
401
402
plt.tight_layout()
403
plt.savefig('laser_physics_comprehensive.pdf', dpi=150, bbox_inches='tight')
404
plt.close()
405
406
# Calculate beam quality parameters for different M² values
407
fig2, axes = plt.subplots(2, 2, figsize=(12, 10))
408
409
# M² comparison - beam radius
410
ax_m1 = axes[0, 0]
411
for i, M2 in enumerate(M_squared_values):
412
w_effective = w0 * M2
413
z_rayleigh_eff = np.pi * w_effective**2 / (wavelength * M2)
414
beam_rad_m2 = w_effective * np.sqrt(1 + (z_positions / z_rayleigh_eff)**2)
415
ax_m1.plot(z_positions * 1e3, beam_rad_m2 * 1e6, linewidth=2.5,
416
color=colors_m2[i], label=f'M$^2$ = {M2}')
417
ax_m1.set_xlabel('Propagation Distance $z$ (mm)', fontsize=11)
418
ax_m1.set_ylabel('Beam Radius $w(z)$ ($\\mu$m)', fontsize=11)
419
ax_m1.set_title('Beam Quality Factor M$^2$ Comparison', fontsize=12, fontweight='bold')
420
ax_m1.legend(fontsize=10)
421
ax_m1.grid(True, alpha=0.3)
422
423
# M² comparison - divergence
424
ax_m2 = axes[0, 1]
425
M2_range = np.linspace(1.0, 3.0, 50)
426
divergence_array = wavelength / (np.pi * w0) * M2_range * 1e3
427
ax_m2.plot(M2_range, divergence_array, 'b-', linewidth=2.5)
428
ax_m2.axhline(y=divergence_angle, color='red', linestyle='--', linewidth=2, label='Diffraction limit')
429
ax_m2.set_xlabel('Beam Quality Factor M$^2$', fontsize=11)
430
ax_m2.set_ylabel('Full Divergence Angle (mrad)', fontsize=11)
431
ax_m2.set_title('Divergence vs Beam Quality', fontsize=12, fontweight='bold')
432
ax_m2.legend(fontsize=10)
433
ax_m2.grid(True, alpha=0.3)
434
435
# Pump rate time series for pulsed operation
436
ax_m3 = axes[1, 0]
437
t_pulse = np.linspace(0, 10 * tau_sp, 1000)
438
pulse_period = 4 * tau_sp
439
pump_pulsed = pump_rate_threshold * 2 * (1 + 0.5 * np.sin(2 * np.pi * t_pulse / pulse_period))
440
ax_m3.plot(t_pulse * 1e3, pump_pulsed / pump_rate_threshold, 'purple', linewidth=2)
441
ax_m3.axhline(y=1.0, color='red', linestyle='--', linewidth=2, label='Threshold')
442
ax_m3.fill_between(t_pulse * 1e3, 0, pump_pulsed / pump_rate_threshold, alpha=0.3, color='purple')
443
ax_m3.set_xlabel('Time (ms)', fontsize=11)
444
ax_m3.set_ylabel('Normalized Pump Rate ($R_p / R_{p,th}$)', fontsize=11)
445
ax_m3.set_title('Pulsed Pump Modulation', fontsize=12, fontweight='bold')
446
ax_m3.legend(fontsize=10)
447
ax_m3.grid(True, alpha=0.3)
448
449
# Gain saturation curve
450
ax_m4 = axes[1, 1]
451
photon_flux = np.logspace(10, 18, 100)
452
saturation_intensity = 1e15 # m^-3
453
gain_unsaturated = sigma_em * population_inversion_threshold * L
454
gain_saturated = gain_unsaturated / (1 + photon_flux / saturation_intensity)
455
ax_m4.semilogx(photon_flux, gain_saturated, 'b-', linewidth=2.5)
456
ax_m4.axhline(y=gain_unsaturated, color='red', linestyle='--', linewidth=2, label='Small-signal gain')
457
ax_m4.axhline(y=gain_threshold, color='green', linestyle='--', linewidth=2, label='Loss (threshold)')
458
ax_m4.axvline(x=saturation_intensity, color='orange', linestyle=':', linewidth=2, label='$I_{sat}$')
459
ax_m4.set_xlabel('Photon Flux Density (m$^{-3}$)', fontsize=11)
460
ax_m4.set_ylabel('Gain Coefficient $g$ (m$^{-1}$)', fontsize=11)
461
ax_m4.set_title('Gain Saturation', fontsize=12, fontweight='bold')
462
ax_m4.legend(fontsize=9)
463
ax_m4.grid(True, alpha=0.3, which='both')
464
465
plt.tight_layout()
466
plt.savefig('laser_physics_supplemental.pdf', dpi=150, bbox_inches='tight')
467
plt.close()
468
469
# Store key results for table
470
results_dict = {
471
'threshold_pump': pump_rate_threshold,
472
'threshold_population': population_inversion_threshold,
473
'cavity_lifetime': tau_cavity,
474
'relaxation_freq': freq_relax,
475
'rayleigh_range': z_rayleigh,
476
'divergence': divergence_angle,
477
'beam_waist': w0
478
}
479
\end{pycode}
480
481
\begin{figure}[htbp]
482
\centering
483
\includegraphics[width=\textwidth]{laser_physics_comprehensive.pdf}
484
\caption{Comprehensive laser physics analysis: (a) Threshold characteristic showing
485
the onset of laser oscillation at normalized pump rate = 1, with characteristic
486
knee in the output power curve; (b) Population inversion clamping above threshold—once
487
the laser reaches threshold, the population remains pinned at $N_{th}$ while excess
488
pump energy converts to photon flux; (c) Relaxation oscillations at 1.5$\times$ threshold
489
showing damped oscillations at \py{f"{freq_relax/1e3:.1f}"} kHz due to coupled photon-population
490
dynamics; (d) Q-switched giant pulse demonstrating population buildup during low-Q phase
491
followed by rapid stimulated emission when cavity Q increases; (e) Population depletion
492
during Q-switch pulse showing extraction of stored energy; (f) Gaussian beam propagation
493
with beam waist $w_0$ = \py{f"{w0*1e6:.0f}"} $\mu$m and Rayleigh range $z_R$ =
494
\py{f"{z_rayleigh*1e3:.2f}"} mm; (g) Gouy phase accumulation of $\pi$ radians over
495
propagation; (h) Two-dimensional intensity profile showing hyperbolic beam expansion;
496
(i) Transverse electromagnetic mode profiles for TEM$_{00}$ (fundamental), TEM$_{01}$
497
(first-order), and TEM$_{11}$ (second-order) cavity modes.}
498
\label{fig:comprehensive}
499
\end{figure}
500
501
\begin{figure}[htbp]
502
\centering
503
\includegraphics[width=\textwidth]{laser_physics_supplemental.pdf}
504
\caption{Supplemental laser analysis: (a) Effect of beam quality factor M² on beam
505
propagation—higher M² values indicate departure from ideal Gaussian profile with
506
increased divergence and reduced focusability; (b) Beam divergence angle scaling
507
linearly with M², showing that diffraction-limited performance (M² = 1.0) yields
508
minimum divergence of \py{f"{divergence_angle:.2f}"} mrad; (c) Pulsed pump modulation
509
for generating controlled output pulse trains, with pump rate oscillating above and
510
below threshold; (d) Gain saturation showing reduction in gain coefficient as photon
511
flux increases, with characteristic saturation intensity defining the transition from
512
linear to saturated regime—this nonlinearity stabilizes laser output power.}
513
\label{fig:supplemental}
514
\end{figure}
515
516
\section{Results}
517
518
\subsection{Threshold Analysis}
519
520
\begin{pycode}
521
print(r"\begin{table}[htbp]")
522
print(r"\centering")
523
print(r"\caption{Calculated Laser Threshold Parameters}")
524
print(r"\begin{tabular}{lcc}")
525
print(r"\toprule")
526
print(r"Parameter & Value & Units \\")
527
print(r"\midrule")
528
print(f"Emission cross-section $\\sigma_{{em}}$ & {sigma_em:.2e} & m$^2$ \\\\")
529
print(f"Spontaneous lifetime $\\tau_{{sp}}$ & {tau_sp*1e3:.1f} & ms \\\\")
530
print(f"Cavity length $L$ & {L*1e2:.1f} & cm \\\\")
531
print(f"Output coupler $R_2$ & {R2:.2f} & --- \\\\")
532
print(f"Cavity photon lifetime $\\tau_c$ & {tau_cavity*1e9:.2f} & ns \\\\")
533
print(r"\midrule")
534
print(f"Threshold population $N_{{th}}$ & {population_inversion_threshold:.2e} & m$^{{-3}}$ \\\\")
535
print(f"Threshold pump rate $R_{{p,th}}$ & {pump_rate_threshold:.2e} & s$^{{-1}}$ \\\\")
536
print(f"Relaxation frequency $f_R$ & {freq_relax/1e3:.1f} & kHz \\\\")
537
print(r"\bottomrule")
538
print(r"\end{tabular}")
539
print(r"\label{tab:threshold}")
540
print(r"\end{table}")
541
\end{pycode}
542
543
\subsection{Gaussian Beam Parameters}
544
545
\begin{pycode}
546
print(r"\begin{table}[htbp]")
547
print(r"\centering")
548
print(r"\caption{Gaussian Beam Characteristics}")
549
print(r"\begin{tabular}{lcc}")
550
print(r"\toprule")
551
print(r"Parameter & Value & Units \\")
552
print(r"\midrule")
553
print(f"Wavelength $\\lambda$ & {wavelength*1e9:.0f} & nm \\\\")
554
print(f"Beam waist $w_0$ & {w0*1e6:.0f} & $\\mu$m \\\\")
555
print(f"Rayleigh range $z_R$ & {z_rayleigh*1e3:.2f} & mm \\\\")
556
print(f"Divergence angle $\\theta$ & {divergence_angle:.2f} & mrad \\\\")
557
print(f"Confocal parameter $2z_R$ & {2*z_rayleigh*1e3:.2f} & mm \\\\")
558
print(r"\midrule")
559
print(f"Beam quality M$^2$ & 1.00 & --- \\\\")
560
print(f"Gouy phase shift & $\\pi$ & rad \\\\")
561
print(r"\bottomrule")
562
print(r"\end{tabular}")
563
print(r"\label{tab:gaussian}")
564
print(r"\end{table}")
565
\end{pycode}
566
567
\section{Discussion}
568
569
\begin{remark}[Physical Interpretation of Threshold]
570
The threshold condition represents the point where stimulated emission exactly compensates
571
for all losses (mirror transmission, scattering, absorption). Below threshold, spontaneous
572
emission dominates and the device acts as an LED. Above threshold, the population inversion
573
clamps at $N_{th}$ and additional pump power directly converts to coherent output.
574
\end{remark}
575
576
\begin{example}[Relaxation Oscillation Damping]
577
The damping rate of relaxation oscillations is:
578
\begin{equation}
579
\gamma = \frac{1}{2}\left(\frac{1}{\tau_{sp}} + \frac{1}{\tau_c}\right)
580
\end{equation}
581
For our system, $\gamma \approx \SI{500}{\per\second}$, yielding well-damped oscillations
582
with decay time constant $\sim$ \SI{2}{\milli\second}.
583
\end{example}
584
585
\begin{remark}[Beam Quality and Applications]
586
The M² factor quantifies beam quality for applications:
587
\begin{itemize}
588
\item M² = 1.0: Diffraction-limited, ideal for precision machining and microscopy
589
\item M² = 1.1--1.3: Excellent quality, suitable for most industrial applications
590
\item M² $>$ 2.0: Multimode operation, used for high-power materials processing
591
\end{itemize}
592
Lower M² enables tighter focusing and longer coherence length.
593
\end{remark}
594
595
\subsection{Practical Considerations}
596
597
\begin{theorem}[Slope Efficiency]
598
Above threshold, the output power scales linearly with pump power:
599
\begin{equation}
600
P_{out} = \eta_{slope} (P_{pump} - P_{th})
601
\end{equation}
602
where the slope efficiency is:
603
\begin{equation}
604
\eta_{slope} = \frac{T}{T + L} \cdot \frac{h\nu_{laser}}{h\nu_{pump}}
605
\end{equation}
606
with $T$ the output coupler transmission and $L$ the round-trip loss.
607
\end{theorem}
608
609
\section{Conclusions}
610
611
This computational analysis demonstrates fundamental laser physics principles with quantitative
612
design implications:
613
614
\begin{enumerate}
615
\item \textbf{Threshold Condition:} The threshold pump rate of \py{f"{pump_rate_threshold:.2e}"} s$^{-1}$
616
corresponds to a population inversion of \py{f"{population_inversion_threshold:.2e}"} m$^{-3}$,
617
required to overcome cavity losses with 95\% output coupler reflectivity. This establishes
618
the minimum pump power below which the laser cannot oscillate—critical for power supply design.
619
620
\item \textbf{Transient Dynamics:} Relaxation oscillations occur at \py{f"{freq_relax/1e3:.1f}"} kHz
621
when pumped above threshold, arising from the coupled dynamics of photon density and population
622
inversion with characteristic time scales $\tau_{sp}$ = \SI{1}{\milli\second} and
623
$\tau_c$ = \py{f"{tau_cavity*1e9:.2f}"} ns. These oscillations limit modulation bandwidth
624
and must be damped in high-speed applications.
625
626
\item \textbf{Q-Switching:} Giant pulse generation stores energy during low-Q buildup
627
phase (3 ms duration) and rapidly extracts it when cavity quality factor increases,
628
producing peak intensities exceeding CW operation by 3-4 orders of magnitude. This technique
629
enables nonlinear optics applications requiring high peak power.
630
631
\item \textbf{Gaussian Beam Optics:} Beam propagation with waist $w_0$ = \py{f"{w0*1e6:.0f}"} $\mu$m
632
yields Rayleigh range \py{f"{z_rayleigh*1e3:.2f}"} mm and divergence \py{f"{divergence_angle:.2f}"} mrad,
633
defining the characteristic diffraction-limited focusing and collimation properties. The Rayleigh
634
range determines the depth of focus—doubling the waist quadruples the confocal parameter.
635
636
\item \textbf{Beam Quality:} M² = 1.0 indicates ideal Gaussian spatial mode (TEM$_{00}$),
637
maximizing focusability and enabling tight focusing to spots approaching the wavelength
638
limit. Multimode operation (M² $>$ 2) sacrifices beam quality for higher output power.
639
\end{enumerate}
640
641
These results provide quantitative design guidelines for laser cavity optimization,
642
mode control, and beam delivery system design. The threshold analysis informs pump
643
source selection, relaxation oscillation frequency guides feedback control bandwidth,
644
Q-switching dynamics enable pulsed applications, and Gaussian beam characterization
645
determines focusing optics requirements.
646
647
\section*{Further Reading}
648
649
\begin{itemize}
650
\item Siegman, A.E. \textit{Lasers}. University Science Books, 1986.
651
\item Svelto, O. \textit{Principles of Lasers}, 5th ed. Springer, 2010.
652
\item Saleh, B.E.A. \& Teich, M.C. \textit{Fundamentals of Photonics}, 2nd ed. Wiley, 2007.
653
\item Yariv, A. \textit{Quantum Electronics}, 3rd ed. Wiley, 1989.
654
\item Koechner, W. \textit{Solid-State Laser Engineering}, 6th ed. Springer, 2006.
655
\item Milonni, P.W. \& Eberly, J.H. \textit{Laser Physics}. Wiley, 2010.
656
\item Silfvast, W.T. \textit{Laser Fundamentals}, 2nd ed. Cambridge University Press, 2004.
657
\item Boyd, R.W. \textit{Nonlinear Optics}, 3rd ed. Academic Press, 2008.
658
\item Diels, J.C. \& Rudolph, W. \textit{Ultrashort Laser Pulse Phenomena}, 2nd ed. Academic Press, 2006.
659
\item Paschotta, R. \textit{Field Guide to Lasers}. SPIE Press, 2008.
660
\item Csele, M. \textit{Fundamentals of Light Sources and Lasers}. Wiley, 2004.
661
\item Hodgson, N. \& Weber, H. \textit{Laser Resonators and Beam Propagation}, 2nd ed. Springer, 2005.
662
\item Thyagarajan, K. \& Ghatak, A. \textit{Lasers: Fundamentals and Applications}, 2nd ed. Springer, 2010.
663
\item Demtröder, W. \textit{Laser Spectroscopy: Basic Principles}, 4th ed. Springer, 2008.
664
\item Duarte, F.J. \textit{Tunable Laser Applications}, 3rd ed. CRC Press, 2016.
665
\item Meschede, D. \textit{Optics, Light and Lasers}, 3rd ed. Wiley-VCH, 2017.
666
\item Khare, R.P. \textit{Fiber Optics and Optoelectronics}. Oxford University Press, 2004.
667
\item Bass, M. et al. \textit{Handbook of Optics, Vol. IV: Optical Properties of Materials}. McGraw-Hill, 2009.
668
\end{itemize}
669
670
\end{document}
671
672