halfSinePulse

halfSinePulse

Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimVE licenses.

Function for a sinusoidal pulse in the form of a Gaussian beam, modulated by a longitudinal half-sine function.

halfSinePulse 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 equal to zero everywhere in the simulation. The pulse then propagates into the simulation domain.

widths (required float vector)

The widths of the pulse:

widths[0]

Full half-width of the pulse in the longitudinal direction (i.e. along \(\mathbf{k}\)). The half-sine function reaches zero at this distance away from the peak.

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.

skewness (optional float, default = 0)

Skewness in the pulse, which is a distortion so that the pulse rises more rapidly than it falls (negative skewness) or vice versa.

keepon (optional integer, default = 0 (false))

If nonzero, the pulse does not fall after getting to its peak value.

Example halfSinePulse Block

<STFunc component0>
  kind = halfSinePulse
  omega = 3.0e7
  k = [5. 0. 0.]
  amplitude = 0.7
  origin = [0.  0.  0.]
  widths = [14.9896e-6  8.48528e-6  8.48528e-6]
  vg = 2.9998e8
  waistDisplacement = 0.2
</STFunc>