halfSinePulse
Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimMD licenses.
Function for a sinusoidal pulse in the form of a Gaussian beam, modulated by a longitudinal half-sine function.
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.
<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>