tidy3d.GaussianBeamProfile#
- class GaussianBeamProfile[source]#
Bases:
BeamProfileComponent for constructing 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_radius (PositiveFloat = 1.0) – [units = um]. Radius of the beam at the waist.
waist_distance (float = 0.0) – [units = um]. Distance from the beam waist along the propagation direction. A positive value places the waist behind the beam plane (toward the negative normal axis). A negative value places the waist in front of the beam plane (toward the positive normal axis). This definition is independent of the
directionparameter, ensuring consistent waist positioning for both forward- and backward-propagating beams. For an angled beam, the distance is measured along the rotated propagation direction.
See also
Attributes
resolutionfreqsbackground_mediumangle_thetaangle_phipol_angledirectionsizecenterMethods
beam_params(z, k0)Compute the parameters needed to evaluate a Gaussian beam at z.
scalar_field(points, background_n)Scalar field for Gaussian beam.
- waist_radius#
- waist_distance#