flex_rf.tidy3d.SurfaceFieldMonitor
Type: class │ Base(s): AbstractSurfaceMonitor, FreqMonitor
Description
Section titled “Description”Monitor that records electromagnetic fields in the frequency domain on PEC and lossy metal surfaces.
SurfaceFieldMonitor objects 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(s)
Section titled “Example(s)”import tidy3d as tdold_logging_level = td.config.logging_leveltd.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_levelParameters
Section titled “Parameters”size [TracedSize] |
|
Size in x, y, and z directions. |
name [str] |
|
Unique name for monitor. |
freqs [FreqArray] |
|
Array or list of frequencies stored by the field monitor. |
center [TracedCoordinate] = (0.0, 0.0, 0.0) |
|
Center of object in x, y, and z. |
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 |
apodization [ApodizationSpec] = factory: 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[EMSurfaceField, ...]] = ['E', 'H'] |
|
Collection of field components to store in the monitor. |
Methods
Section titled “Methods”storage_size(num_cells: int, tmesh: ArrayFloat1D) |
|
Size of monitor storage given the number of points after discretization. In general, this is severely overestimated for surface monitors. |