- 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>