Skip to content

flex_rf.tidy3d.FieldMonitor

Type: class Base(s): AbstractFieldMonitor, FreqMonitor

Monitor that records electromagnetic fields in the frequency domain.

FieldMonitor 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. FieldMonitor objects are useful for investigating the steady-state field distribution in 2D and 3D regions of the simulation.

monitor = FieldMonitor(
center=(1,2,3),
size=(2,2,2),
fields=['Hx'],
freqs=[250e12, 300e12],
name='steady_state_monitor',
colocate=True)
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[PositiveInt, PositiveInt, PositiveInt]] = (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.

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. If True, flux, 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.

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[EMField, ...]] = ['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz']

Collection of field components to store in the monitor.

parallel_adjoint_bases(simulation: Simulation, monitor_index: int)

Return parallel adjoint bases for single-point field monitors.

storage_size(num_cells: int, tmesh: ArrayFloat1D)

Size of monitor storage given the number of points after discretization.

supports_parallel_adjoint()

Return True when the field monitor is a single-point probe.