tidy3d.SurfaceFieldMonitor#
- class SurfaceFieldMonitor[source]#
Bases:
AbstractSurfaceMonitor,FreqMonitorMonitorthat records electromagnetic fields in the frequency domain on PEC and lossy metal surfaces.- 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.
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. Only the value of 1 (no downsampling) is currently supported for surface monitors.
colocate (Literal[True] = True) – For surface monitors fields are always colocated on surface.
use_colocated_integration (Literal[True] = True) – Whether to use colocated fields for flux, dot products, and overlap integrals. Hard-coded to
Truefor most monitor types. Can be toggled on field and overlap monitors.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.fields (tuple[Literal['E', 'H'], ...] = ['E', 'H']) – Collection of field components to store in the monitor.
Notes
SurfaceFieldMonitorobjects operate by running a discrete Fourier transform of the fields at a given set of frequencies to perform the calculation “in-place” with the time stepping. These monitors are designed to record fields on PEC (PECMedium) and lossy metal (LossyMetalMedium) surfaces, storing the normal E and tangential H fields.Example
>>> import tidy3d as td >>> old_logging_level = td.config.logging_level >>> td.config.logging_level = "ERROR" >>> monitor = SurfaceFieldMonitor( ... center=(1,2,3), ... size=(2,2,2), ... fields=['E', 'H'], ... freqs=[250e12, 300e12], ... name='surface_monitor') >>> td.config.logging_level = old_logging_level
Attributes
fieldsinterval_spacecolocatefreqsapodizationuse_colocated_integrationnamesizecenterMethods
storage_size(num_cells, tmesh)Size of monitor storage given the number of points after discretization.