tidy3d.AstigmaticGaussianBeam#
- class AstigmaticGaussianBeam[source]#
Bases:
AngledFieldSource,PlanarSource,BroadbandSourceThe simple astigmatic Gaussian distribution allows both an elliptical intensity profile and different waist locations for the two principal axes of the ellipse. When equal waist sizes and equal waist distances are specified in the two directions, this source becomes equivalent to
GaussianBeam.- Parameters:
name (Attribute:
name) –TypeOptional[str]
Default= None
DescriptionOptional name for the source.
center (Attribute:
center) –TypeTuple[float, float, float]
Default= (0.0, 0.0, 0.0)
Unitsum
DescriptionCenter of object in x, y, and z.
size (Attribute:
size) –TypeTuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]
DefaultUnitsum
DescriptionSize in x, y, and z directions.
source_time (Attribute:
source_time) –TypeUnion[GaussianPulse, ContinuousWave, CustomSourceTime]
DefaultDescriptionSpecification of the source time-dependence.
num_freqs (Attribute:
num_freqs) –TypeConstrainedIntValue
Default= 1
DescriptionNumber of points used to approximate the frequency dependence of injected field. A Chebyshev interpolation is used, thus, only a small number of points, i.e., less than 20, is typically sufficient to obtain converged results.
direction (Attribute:
direction) –TypeLiteral[‘+’, ‘-‘]
DefaultDescriptionSpecifies propagation in the positive or negative direction of the injection axis.
angle_theta (Attribute:
angle_theta) –Typefloat
Default= 0.0
Unitsrad
DescriptionPolar angle of the propagation axis from the injection axis.
angle_phi (Attribute:
angle_phi) –Typefloat
Default= 0.0
Unitsrad
DescriptionAzimuth angle of the propagation axis in the plane orthogonal to the injection axis.
pol_angle (Attribute:
pol_angle) –Typefloat
Default= 0
Unitsrad
DescriptionSpecifies the angle between the electric field polarization of the source and the plane defined by the injection axis and the propagation axis (rad).
pol_angle=0(default) specifies P polarization, whilepol_angle=np.pi/2specifies S polarization. At normal incidence when S and P are undefined,pol_angle=0defines: -Eypolarization for propagation alongx.-Expolarization for propagation alongy.-Expolarization for propagation alongz.waist_sizes (Attribute:
waist_sizes) –TypeTuple[PositiveFloat, PositiveFloat]
Default= (1.0, 1.0)
Unitsum
DescriptionSize of the beam at the waist in the local x and y directions.
waist_distances (Attribute:
waist_distances) –TypeTuple[float, float]
Default= (0.0, 0.0)
Unitsum
DescriptionDistance to the beam waist along the propagation direction for the waist sizes in the local x and y directions. When
directionis+andwaist_distancesare positive, the waist is on the-side (behind) the source plane. Whendirectionis+andwaist_distancesare negative, the waist is on the+side (in front) of the source plane.
Notes
This class implements the simple astigmatic Gaussian beam described in [1].
References:
Example
>>> pulse = GaussianPulse(freq0=200e12, fwidth=20e12) >>> gauss = AstigmaticGaussianBeam( ... size=(0,3,3), ... source_time=pulse, ... pol_angle=np.pi / 2, ... direction='+', ... waist_sizes=(1.0, 2.0), ... waist_distances = (3.0, 4.0))
Attributes
Methods
- waist_sizes#
- waist_distances#
- __hash__()#
Hash method.