tidy3d.AstigmaticGaussianBeamProfile#
- class AstigmaticGaussianBeamProfile[source]#
Bases:
BeamProfileComponent for constructing astigmatic Gaussian beam data. The normal direction is implicitly defined by the
sizeparameter.- Parameters:
center (Optional[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]]] = None) – [units = um]. Center of object in x, y, and z.
size (tuple[Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box]]) – [units = um]. Size in x, y, and z directions.
resolution (float = 200) – [units = um]. Sampling resolution in the tangential directions of the beam (defines a number of equally spaced points).
freqs (ArrayLike[dtype=float, ndim=1]) – [units = Hz]. List of frequencies at which the beam is sampled.
background_medium (Union[
Medium,AnisotropicMedium,PECMedium,PMCMedium,PoleResidue,Sellmeier,Lorentz,Debye,Drude,FullyAnisotropicMedium,CustomMedium,CustomPoleResidue,CustomSellmeier,CustomLorentz,CustomDebye,CustomDrude,CustomAnisotropicMedium,PerturbationMedium,PerturbationPoleResidue,LossyMetalMedium,Medium2D,AnisotropicMediumFromMedium2D] = Medium()) – Background medium in which the beam is embedded.angle_theta (float = 0.0) – [units = rad]. Polar angle of the propagation axis from the normal axis.
angle_phi (float = 0.0) – [units = rad]. Azimuth angle of the propagation axis in the plane orthogonal to the normal axis.
pol_angle (float = 0.0) – [units = rad]. Specifies the angle between the electric field polarization of the beam and the plane defined by the normal 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.direction (Literal['+', '-'] = +) – Specifies propagation in the positive or negative direction of the normal axis.
waist_sizes (tuple[PositiveFloat, PositiveFloat] = (1.0, 1.0)) – [units = um]. Size of the beam at the waist in the local x and y directions.
waist_distances (tuple[float, float] = (0.0, 0.0)) – [units = um]. Distance to the beam waist along the propagation direction for the waist sizes in the local x and y directions. Positive values place the waist behind the beam plane (toward the negative normal axis); negative values place the waist in front of the beam plane. This definition is independent of the
directionparameter.
See also
Attributes
resolutionfreqsbackground_mediumangle_thetaangle_phipol_angledirectionsizecenterMethods
beam_params(z, k0)Compute the parameters needed to evaluate an astigmatic Gaussian beam at z.
scalar_field(points, background_n)Scalar field for astigmatic Gaussian beam.
- waist_sizes#
- waist_distances#
- beam_params(z, k0)[source]#
Compute the parameters needed to evaluate an astigmatic Gaussian beam at z.
- Parameters:
z (np.ndarray) – Axial distance from the beam center.
k0 (np.ndarray) – Wave vector magnitude.
- scalar_field(points, background_n)[source]#
Scalar field for astigmatic Gaussian beam. Scalar field corresponding to the analytic beam in coordinate system such that the propagation direction is z and the
E-field is entirelyx-polarized. The field is computed on an unstructured arraypointsof shape(3, ...).