tidy3d.PlaneWaveBeamProfile#
- class PlaneWaveBeamProfile[source]#
Bases:
BeamProfileComponent for constructing plane wave 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.
angular_spec (Union[
FixedInPlaneKSpec,FixedAngleSpec] = FixedAngleSpec()) – Specification of plane wave propagation direction dependence on wavelength.as_fixed_angle_source (bool = False) – Fixed angle flag. Only used internally when computing source beams for injection in an FDTD simulation with fixed angle boudnaries. Use
angular_specto switch between waves with fixed angle and fixed in-plane k.angle_theta_frequency (Optional[float] = None) – Frequency for which
angle_thetais set. This only has an effect for fixed in-plane wave-vector beams. If not supplied, the average of the beamfreqsis used.
See also
Attributes
resolutionfreqsbackground_mediumangle_thetaangle_phipol_angledirectionsizecenterMethods
in_plane_k(background_n)In-plane wave vector.
scalar_field(points, background_n)Scalar field for plane wave.
- angular_spec#
- as_fixed_angle_source#
- angle_theta_frequency#
- in_plane_k(background_n)[source]#
In-plane wave vector. Only the real part is taken so the beam has no in-plane decay.
- scalar_field(points, background_n)[source]#
Scalar field for plane wave. 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, N_points, N_freqs). For the special case of fixed in-plane k, the propagation axis is different at every frequency, and the points a frquency-dependent rotation has been applied to thepointsinself._rotate_points_z.