Skip to content

Commit 756d421

Browse files
authored
Merge pull request #5397 from steindev/2025-06_add-laser-doc
Add laser model description to docs
2 parents 9cab05d + f9f6985 commit 756d421

File tree

2 files changed

+240
-0
lines changed

2 files changed

+240
-0
lines changed

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ In case you are already fluent in compiling C++ projects and HPC, running PIC si
7979

8080
models/pic
8181
models/AOFDTD
82+
models/lasers
8283
models/total_field_scattered_field
8384
models/shapes
8485
models/LL_RR

docs/source/models/lasers.rst

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
.. _model-lasers:
2+
3+
Analytic Expressions for the 3D Laser Profiles
4+
==============================================
5+
6+
.. sectionauthor:: Klaus Steiniger
7+
8+
9+
Among others, PIConGPU offers the ``GaussianPulse`` and ``DispersivePulse`` profiles to model complex, Gaussian-like laser pulse profiles in simulations.
10+
11+
The ``GaussianPulse`` profile allows modelling standard Gaussian pulses defined by a Gaussian distribution of laser energy along the longitudinal and transverse directions.
12+
Furthermore, it allows including higher-order transverse modes via Laguerre-Gaussian modes [Pausch2022]_.
13+
14+
The ``DispersivePulse`` profile allows modelling standard Gaussian pulses which feature dispersions, i.e. frequency specific modifications of the laser's spectral phase, up to third order.
15+
That is, time delay (TD), angular dispersion (AD), spatial dispersion (AD), group-delay dispersion (GDD), and third-order dispersion (TOD) are self-consistently taken into account in the propagation of these pulses.
16+
The profile assumes a Gaussian shape for the laser's spectrum, see the computation of ``envFreqExp`` in ``DispersivePulse.hpp``.
17+
The respective in-focus values of these dispersions can be provided as parameters.
18+
However, the electric field values in time domain are computed from the field's values in frequency domain by a discrete Fourier transform.
19+
Therefore, it is possible to use any other shape of the laser's spectrum by modifying the profile's source code.
20+
See ``amp()`` function in `include/picongpu/fields/incidentField/profiles/DispersivePulse.hpp <https://github.com/ComputationalRadiationPhysics/picongpu/blob/dev/include/picongpu/fields/incidentField/profiles/DispersivePulse.hpp>`_.
21+
22+
A very concise description of the equations used in the ``GaussianPulse`` and ``DispersivePulse`` profiles are provided in the following.
23+
Please also refer to the in-code documentation of these and the other profiles in order to obtain more profile-specific information.
24+
Furthermore, refer to :ref:`Workflows / Adding Laser <usage-workflows-addLaser>` in order to see how to add a laser to a PIConGPU simulation.
25+
26+
27+
28+
Definitions
29+
-----------
30+
Following [Steiniger2024]_, the electric field in frequency-space domain is assumed to be polarized along :math:`x` and defined as
31+
32+
.. math::
33+
\hat{\vec E}(\vec r, \Omega) = \hat E_\mathrm{A}(\vec r, \Omega) e^{-\imath \varphi(\vec r, \Omega)}\vec{\mathrm e}_x\,,
34+
35+
where :math:`\Omega=2\pi\nu` is the angular frequency for frequency :math:`\nu` and :math:`\vec r` the position considered, :math:`\hat E_\mathrm{A}` is the spectral amplitude and
36+
:math:`\varphi=\tfrac{\Omega}{c} \vec{\mathrm e}_\Omega \cdot \vec r`
37+
the spectral phase of the pulse,
38+
with :math:`\vec{\mathrm e}_\Omega` being the propagation direction of frequency :math:`\Omega`.
39+
Dispersions are assumed to occur only in the plane spanned by the direction of pulse propagation :math:`\vec{\mathrm e}_z`, being equal to the direction of propagation of the central frequency :math:`\Omega_0`, and polarization :math:`\vec{\mathrm e}_x`, i.e. :math:`\vec{\mathrm e}_\Omega \cdot \vec{\mathrm e}_y = 0 \forall \Omega`.
40+
This implies that the spectral phase does not vary along the :math:`y`-direction in focus, i.e.
41+
42+
.. math::
43+
\varphi |_{z=0} = \varphi(x,\Omega) |_{z=0} = k_x(\Omega) \cdot x\,,
44+
45+
where :math:`k_x = \tfrac{\Omega}{c} \vec{\mathrm e}_\Omega \cdot \vec{\mathrm e}_x = -\tfrac{\Omega}{c}\sin\theta` with :math:`\theta=\theta(\Omega)` being the angle enclosed by the propagation directions of frequency :math:`\Omega` and the central laser frequency :math:`\Omega_0`.
46+
47+
48+
49+
In the following, the spectral amplitude is assumed to be separable in a spectrum :math:`\epsilon_\Omega`, as well as transverse envelopes :math:`\epsilon_x` and :math:`\epsilon_y`
50+
51+
.. math::
52+
\hat E_{\mathrm A} = \epsilon_\Omega \epsilon_x \epsilon_y\,.
53+
54+
55+
.. math::
56+
\epsilon_\Omega(\Omega)& = e^{-\frac{\tau_0^2}{4}(\Omega-\Omega_0)^2}\,, &
57+
\tau_0& = \tau_\mathrm{FWHM,I} / \sqrt{2 \ln 2} \\
58+
\epsilon_x(x)& = e^{-\frac{\left[x-x_0(\Omega)\right]^2}{w_{0,x}^2}}\,, &
59+
w_{0,x}& = w_{\mathrm{FWHM,I},x} / \sqrt{2 \ln 2} \\
60+
\epsilon_y(y)& = e^{-\frac{y^2}{w_{0,y}^2}}\,, &
61+
w_{0,y}& = w_{\mathrm{FWHM,I},y} / \sqrt{2 \ln 2} \\
62+
63+
:math:`x_0=x_0(\Omega)` is the center position of the spatial distribution of frequency :math:`\Omega` along the polarization direction in the focus.
64+
65+
66+
3D field in frequency-space domain
67+
----------------------------------
68+
69+
Prerequisite: Huygens' integral in the Fresnel approximation
70+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
71+
[Siegman1986]_ shows on p. 633 and p. 636 formulas for the propagation of paraxial beams in 3D and 2D, respectively.
72+
They have an equal kernel
73+
74+
.. math::
75+
\hat K_s(s^\prime, z, \Omega) = \sqrt{\frac{\Omega}{2\pi c}}
76+
\frac{e^{\imath\frac{\pi}{4}}}{\sqrt{z}}
77+
e^{-\imath \frac{\Omega}{2 c z} (s-s^\prime)^{2}}\,,
78+
79+
such that propagation can be computed as
80+
81+
.. math::
82+
& \text{(2D)}& \hat E_x(x, z, \Omega)& =
83+
e^{-\imath\frac{\Omega}{c}z}
84+
\int\limits_{-\infty}^{\infty}
85+
\hat K_x(x^\prime, z, \Omega) \hat{E}(x^\prime, z=0, \Omega) \, \mathrm dx^\prime
86+
\qquad \clubsuit \label{eq::Fresnel2D} \\
87+
& \text{(3D)}& \hat{E}(x, y, z, \Omega)& =
88+
e^{-\imath\frac{\Omega}{c}z}
89+
\int\limits_{-\infty}^{\infty} \int\limits_{-\infty}^{\infty}
90+
\hat K_y(y^\prime, z, \Omega) \hat K_x(x^\prime, z, \Omega)
91+
\hat{E}(x^\prime, y^\prime, z=0, \Omega) \, \mathrm dx^\prime \mathrm dy^\prime \\
92+
& \text{(3D)}& \hat E(x, y, z, \Omega)& =
93+
\epsilon_\Omega e^{-\imath\frac{\Omega}{c}z}
94+
\int\limits_{-\infty}^{\infty}
95+
\hat K_x(x^\prime, z, \Omega) \epsilon_{x^\prime}
96+
\mathrm e^{-\imath \varphi(x^\prime, \Omega)}\, \mathrm dx^\prime
97+
\int\limits_{-\infty}^{\infty}
98+
\hat K_y(y^\prime, z, \Omega) \epsilon_{y^\prime} \,\mathrm dy^\prime \\
99+
& & & = \hat E_x(x, z, \Omega)
100+
\int\limits_{-\infty}^{\infty}
101+
\hat K_y(y^\prime, z, \Omega) \epsilon_{y^\prime} \,\mathrm dy^\prime\,. \qquad \bigstar \label{eq::Fresnel3Dsep} \\
102+
& & & \qquad \text{(provided $\hat E$ is separable and dispersion-free along $y$)}
103+
104+
105+
Derivation
106+
^^^^^^^^^^
107+
[Steiniger2024]_ computed the 2D :math:`\hat E_x(x,z,\Omega)` part of eq. :math:`\bigstar`, i.e. computed :math:`\clubsuit` and thereby omitted the last integral in :math:`\bigstar`.
108+
The result of this last integral can be read off from the known solution for the 2D part, being provided in eq. (6) of [Steiniger2024]_.
109+
110+
.. math::
111+
\hat E_x(x, z, \Omega) = &\
112+
\epsilon_\Omega
113+
\left[ 1 + \frac{z^2}{z_{\mathrm{R},x}^2} \right]^{-1/4}
114+
e^{-\left[
115+
x - \left( x_0 - \frac{c}{\Omega_0 w_{0,x}}\alpha z \right)
116+
\right]^2
117+
\left[ \frac{1}{w_x(z)^2} + \imath \frac{\Omega}{2c} R_x^{-1}(z) \right]
118+
}
119+
\\ &\ \times
120+
e^{-\imath \frac{\Omega}{c}z}
121+
e^{\imath \alpha \frac{x}{w_{0,x}} }
122+
e^{\imath \frac{\alpha^2}{4}\frac{z}{z_{\mathrm R,x}} }
123+
e^{\imath \frac{1}{2} \arctan\frac{z}{z_{\mathrm R,x}} }
124+
e^{-\imath \frac{1}{2}GDD_\mathrm{foc}(\Omega-\Omega_0)^2}
125+
e^{-\imath \frac{1}{6}TOD_\mathrm{foc}(\Omega-\Omega_0)^3}\\
126+
z_{\mathrm R,s} = &\ \frac{\Omega_0 w_{0,s}^2}{2c} \\
127+
w_s(z) = &\ w_{0,s} \sqrt{1 + \frac{z^2}{z_{\mathrm R,s}^2}} \\
128+
R_s^{-1}(z) = &\ \frac{z}{z^2 + z_{\mathrm R,s}^2} \\
129+
\alpha(\Omega) = &\
130+
\frac{w_0}{c}\left[
131+
\Omega_0 \theta^\prime (\Omega-\Omega_0)
132+
+ \frac{1}{2}\left( 2 \theta^\prime + \Omega_0 \theta^{\prime\prime} \right) (\Omega-\Omega_0)^2
133+
\right. \\
134+
&\ \qquad \left. + \frac{1}{6}\left(
135+
3\theta^{\prime\prime} + \Omega_0\theta^{\prime\prime\prime} - \Omega_0 {\theta^\prime}^3
136+
\right) (\Omega-\Omega_0)^3
137+
\right]
138+
139+
Note, :math:`k_x \approx - \alpha / w_{0,x}`.
140+
141+
The sought result for :math:`\int \hat K_y \epsilon_{y^\prime}\,\mathrm dy^\prime` is obtained from the 2D solution :math:`\hat E_x(x,z,\Omega)` by dropping :math:`\epsilon_\Omega` and :math:`\mathrm e^{-\imath(\Omega/c)z}`, plus letting :math:`\alpha \rightarrow 0` and :math:`x_0 \rightarrow 0`.
142+
Hence,
143+
144+
.. math::
145+
\hat E_y(y,z,\Omega)& := \int\limits_{-\infty}^{\infty}
146+
\hat K_y(y^\prime, z, \Omega) \epsilon_{y^\prime} \,\mathrm dy^\prime \\
147+
& = \sqrt{\frac{\Omega}{2\pi c}} \frac{e^{\imath\frac{\pi}{4}}}{\sqrt{z}}
148+
\int\limits_{-\infty}^{\infty} e^{-\frac{{y^\prime}^2}{w_{0,y^\prime}^2}}
149+
e^{-\imath \frac{\Omega}{2 c z} (y-y^\prime)^{2}} \,\mathrm dy^\prime \\
150+
& = \left[ 1 + \frac{z^2}{z_{\mathrm R,y}^2} \right]^{-1/4}
151+
\mathrm e^{-y^2\left[\frac{1}{w_y(z)^2} + \imath \frac{\Omega}{2c}R_y^{-1}(z)\right]}
152+
\mathrm e^{\imath\frac{1}{2}\arctan\frac{z}{z_{\mathrm R,y}}}\,.
153+
154+
155+
Result
156+
^^^^^^
157+
According to the definitions above
158+
159+
.. math::
160+
\hat E(x,y,z,\Omega) = \hat E_x \cdot \hat E_y\,.
161+
162+
163+
3D field in time-space domain
164+
-----------------------------
165+
Derivation
166+
^^^^^^^^^^
167+
For the Fourier transform to time-space domain, again the results of [Steiniger2024]_ can be reused since the modifications due to the presence of :math:`\hat E_y` are easy to incorporate.
168+
In fact, when applying the transformation :math:`\Omega \rightarrow \tfrac{1}{\tau_0}\Omega^\prime + \Omega_0`, as is done in the reference,
169+
170+
.. math::
171+
\hat E_y(y,z,\frac{1}{\tau_0}\Omega^\prime + \Omega_0) =
172+
\left[ 1 + \frac{z^2}{z_{\mathrm R,y}^2} \right]^{-1/4}
173+
\mathrm e^{-\frac{y^2}{w_y(z)^2}} \mathrm e^{-\imath \Omega_0 \frac{y^2 R^{-1}_y(z)}{2c}}
174+
\mathrm e^{\imath\frac{1}{2}\arctan\frac{z}{z_{\mathrm R,y}}}
175+
\mathrm e^{-\imath \frac{y^2 R_y^{-1}(z)}{2c}\frac{1}{\tau_0}\Omega^\prime}
176+
177+
only the last exponent depends on frequency :math:`\Omega^\prime` and needs to be taken into account in the Fourier transform.
178+
This last exponential simply contributes a term to :math:`\gamma_4`, which is located between eqs. (13) and (14) in [Steiniger2024]_, in the form of
179+
180+
.. math::
181+
-\frac{y^2 R_y^{-1}(z)}{2c}\frac{1}{\tau_0}\,.
182+
183+
184+
Result
185+
^^^^^^
186+
In total, the 3D time-space domain field :math:`E(x,y,z,t)` of the ``DispersivePulse`` is obtained by taking the existing 2D solution :math:`E(x,z,t)`, cf. eq. (14) in [Steiniger2024]_, and applying
187+
188+
.. math::
189+
\gamma_4^\prime& = \gamma_4 - \frac{y^2 R_y^{-1}(z)}{2c}\frac{1}{\tau_0} \\
190+
E(x,y,z,t)& = E(x,z,t,) |_{\gamma_4 \rightarrow \gamma_4^\prime} \cdot
191+
\left[ 1 + \frac{z^2}{z_{\mathrm R,y}^2} \right]^{-1/4}
192+
\mathrm e^{-\frac{y^2}{w_y(z)^2}} \mathrm e^{-\imath \Omega_0 \frac{y^2 R^{-1}_y(z)}{2c}}
193+
\mathrm e^{\imath\frac{1}{2}\arctan\frac{z}{z_{\mathrm R,y}}}\,.
194+
195+
196+
Special case without dispersion: The ``GaussianPulse``
197+
-----------------------------------------------------------
198+
199+
In that case
200+
201+
.. math::
202+
\gamma_1& = 1 \\
203+
\gamma_2& = 0 \\
204+
\gamma_3& = 0 \\
205+
\gamma_4^\prime& = \left[
206+
t - \frac{z}{c} - \frac{1}{2c}\left(x^2 R_x^{-1}(z)+y^2 R_y^{-1}(z)\right)
207+
\right]\frac{1}{\tau_0}
208+
209+
210+
.. math::
211+
E(x,y,z,t) = &\
212+
\frac{1}{\tau_0\sqrt{\pi}}
213+
\left( 1 + \frac{z^2}{z_{\mathrm R,x}^2} \right)^{-1/4}
214+
\left( 1 + \frac{z^2}{z_{\mathrm R,y}^2} \right)^{-1/4} \\
215+
&\ \times
216+
e^{\imath \Omega_0 \gamma_4^\prime \tau_0}
217+
e^{\imath \frac{1}{2} \left(\arctan\frac{z}{z_{\mathrm R,x}} + \arctan\frac{z}{z_{\mathrm R,y}}\right)}
218+
e^{-\left(\frac{x^2}{w_x^2} + \frac{y^2}{w_y^2}\right)}
219+
e^{-{\gamma_4^\prime}^2}\,.
220+
221+
222+
References
223+
----------
224+
.. [Pausch2022]
225+
R. Pausch et al.
226+
*Modeling Beyond Gaussian Laser Pulses in Particle-in-Cell Simulations - The Impact of Higher Order Laser Modes*
227+
2022 IEEE Advanced Accelerator Concepts Workshop (AAC), Long Island, NY, USA (2022).
228+
https://doi.org/10.1109/AAC55212.2022.10822876
229+
230+
.. [Siegman1986]
231+
Siegman, Anthony E.
232+
*Lasers*,
233+
University science books (1986).
234+
235+
.. [Steiniger2024]
236+
K. Steiniger et al.
237+
*Distortions in focusing laser pulses due to spatio-temporal couplings: an analytic description*,
238+
High Power Laser Science and Engineering 12 (2024).
239+
https://doi.org/10.1017/hpl.2023.96

0 commit comments

Comments
 (0)