tidy3d.ThinLensOverlapMonitor#
- class ThinLensOverlapMonitor[source]#
Bases:
AbstractThinLens,AbstractGaussianOverlapMonitorMonitorthat records amplitudes from decomposition onto a thin-lens beam.- Parameters:
center (tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]] = (0.0, 0.0, 0.0)) – [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.
name (str) – Unique name for monitor.
interval_space (tuple[Literal[1], Literal[1], Literal[1]] = (1, 1, 1)) – Number of grid step intervals between monitor recordings. If equal to 1, there will be no downsampling. If greater than 1, the step will be applied, but the first and last point of the monitor grid are always included. Not all monitors support values different from 1.
colocate (bool = True) – Toggle whether fields should be colocated to grid cell boundaries (i.e. primal grid nodes).
use_colocated_integration (bool = True) – Only takes effect when
colocate=False. IfTrue, dot products and overlap integrals still use fields interpolated to grid cell boundaries (colocated), even though the field data is stored at native Yee grid positions. Experimental feature that can give improved accuracy by avoiding interpolation of fields to Yee cell positions for integration.freqs (ArrayLike[dtype=float, ndim=1]) – [units = Hz]. Array or list of frequencies stored by the field monitor.
apodization (
ApodizationSpec= ApodizationSpec()) – Sets parameters of (optional) apodization. Apodization applies a windowing function to the Fourier transform of the time-domain fields into frequency-domain ones, and can be used to truncate the beginning and/or end of the time signal, for example to eliminate the source pulse when studying the eigenmodes of a system. Note: apodization affects the normalization of the frequency-domain fields.store_fields_direction (Optional[Literal['+', '-']] = None) – Propagation direction for the field profiles stored from overlap calculation.
conjugated_dot_product (bool = True) – Use conjugated or non-conjugated dot product for overlap/decomposition.
angle_theta (float = 0.0) – [units = rad]. Polar angle of propagation direction.
angle_phi (float = 0.0) – [units = rad]. Azimuth angle of propagation direction.
pol_angle (float = 0) – [units = rad]. Specifies 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.numerical_aperture (PositiveFloat) – Numerical aperture of the focused beam in the background medium. This must be less than the real refractive index on the component plane.
waist_distance (float = 0.0) – [units = um]. Signed axial distance from the thin-lens focal plane to the component plane, measured along the rotated beam propagation direction. A positive value places the focal plane behind the component plane.
fill_lens (bool = True) – If
True, use a uniform circular pupil over the numerical aperture. IfFalse, use a Gaussian under-filled pupil defined bylens_diameterandbeam_diameter. If not provided, the lens is filled.lens_diameter (Optional[PositiveFloat] = None) – [units = um]. Physical lens diameter used for Gaussian under-filled pupils. Required when
fill_lens=Falseand ignored whenfill_lens=True.beam_diameter (Optional[PositiveFloat] = None) – [units = um]. Incident Gaussian beam diameter used for Gaussian under-filled pupils. Required when
fill_lens=Falseand ignored whenfill_lens=True.num_plane_waves (Union[PositiveInt, tuple[PositiveInt, PositiveInt]] = 51) – Number of angular-spectrum samples in the two tangential directions. If an integer is supplied, the same value is used in both directions. If not provided, 51 samples are used in each direction. Each direction is limited to 1000 samples.
lens_offset (tuple[float, float] = (0.0, 0.0)) – [units = um]. Tangential offset of the focused field relative to the beam axis, implemented as a pupil phase ramp. The two entries follow the component’s tangential-axis order after removing the normal axis from
(x, y, z). For example, a y-normal component uses(x, z). This shifts the ideal focal field but does not model a decentered finite aperture with clipping or changed pupil amplitude. If not provided, the focal field is centered on the optical axis.
Attributes
numerical_aperturewaist_distancefill_lenslens_diameterbeam_diameternum_plane_waveslens_offsetangle_thetaangle_phipol_anglestore_fields_directioncolocateuse_colocated_integrationconjugated_dot_productfreqsapodizationinterval_spacenamesizecenter