- gaussianPulse
gaussianPulse
Works with all licenses.
Function for a sinusoidal pulse in the form of a Gaussian beam, modulated by a Gaussian envelope longitudinally. The longitudinal envelope rises adiabatically on the tails of the Gaussian to avoid discontinuous truncation.
gaussianPulse Parameters
- omega (required float)
Angular frequency of the wave \(\omega\).
- k (required float vector)
The wave vector \({\bf k}\).
- amplitude (required float)
Amplitude of the wave.
- phase (optional float, default = 0)
The phase, added to \(({\bf k} \cdot {\bf x} - \omega t)\).
- origin (required float vector)
The initial location of the peak of the pulse. This is usually located a distance
widths[0]
outside the simulation domain, so that the value of the function is initially 0 everywhere in the simulation. The pulse then propagates into the simulation domain.
- widths (required float vector)
Widths of the pulse:
widths[0]
Full half-width of the pulse in the longitudinal direction (i.e. along \(\mathbf{k}\)). The truncated Gaussian reaches 0 this distance away from the peak.
Note
The Gaussian envelope must be truncated, which implies a finite starting amplitude. Because a finite starting amplitude is unphysical and can significantly perturb the simulation, the truncated Gaussian is brought smoothly to zero with a simple cubic switching function. Hence, 90% of the envelope is a true Gaussian, but the 10% at the leading and trailing edges has a different functional form. Any ramifications should be negligible if the full half-width of the pulse is at least 3 RMS.
widths[1]
The width of the Gaussian beam in the direction perpendicular to \(\mathbf{k}\) in the plane of \(\mathbf{k}\) and \(\mathbf{\hat{x}}\); if \(\mathbf{k}\) is parallel to \(\mathbf{\hat{x}}\), this is the width in the \(y\) direction. The width is the full-width at the \(1/\sqrt{e}\) points (of the function value, not function squared) at the beam waist.
widths[2]
The width of the Gaussian beam in the direction perpendicular to both \(\mathbf{k}\) and \(\mathbf{\hat{x}}\); if \(\mathbf{k}\) is parallel to \(\mathbf{\hat{x}}\), this is the width in the \(z\) direction. The width is the full-width at the \(1/\sqrt{e}\) points (of the function value, not function squared) at the beam waist.
- vg (required float)
Group velocity, by which the origin of the envelope is moved.
- waistDisplacement (required float)
Location of the pulse focus along its direction of propagation, measured from the initial peak location specified by
origin
.
- L\_fwhm (required float)
Longitudinal full width at half-maximum of the pulse intensity (function squared).
- keepon (optional integer, default = 0 (false))
If true, the pulse does not fall after getting to its peak value.
Example gaussianPulse Block
<STFunc component1>
kind = gaussianPulse
omega = OMEGA
k = [K_LASER 0. 0.]
amplitude = EPUMP
origin = [XSTARTPUMP 0. 0. ]
widths = [WXPUMP WYPUMP WYPUMP]
vg = LIGHTSPEED
waistDisplacement = STARTFLAT
# Full length at half max of pulse envelope
L_fwhm = L_FWHM
</STFunc>