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>