gaussianPulse
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimMD 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.
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 trauncated 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.
<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>