tidy3d.PointCloudFieldMonitor#
- class PointCloudFieldMonitor[source]#
Bases:
FreqMonitorMonitorthat records electromagnetic fields at arbitrary points.- Parameters:
name (str) – Unique name for monitor.
interval_space (tuple[Literal[1], Literal[1], Literal[1]] = (1, 1, 1)) – Point-cloud field monitors do not support spatial downsampling.
colocate (Literal[False] = False) – Point-cloud field monitors always store fields sampled from native Yee-grid field values and do not support field colocation.
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, overlap, and flux 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.points (PointDataArray) – [units = um]. Point coordinates at which fields are recorded. The array must have dimensions
('index', 'axis')and shape(num_points, 3).fields (tuple[Literal['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz'], ...] = ['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz']) – Collection of field components to store in the monitor.
are (The monitor stores field components indexed by point and frequency. Point coordinates)
:param supplied as a
PointDataArraywith dimensions("index": :param "axis")and shape: :param(num_points: :param 3). Point-cloud fields are sampled from native field values: :param equivalent to: :param pointFieldMonitorobjects withcolocate=False.:Example
>>> points = PointDataArray( ... [[0.0, 0.0, 0.0], [0.1, 0.2, 0.3]], ... coords={"index": [0, 1], "axis": [0, 1, 2]}, ... ) >>> monitor = PointCloudFieldMonitor( ... points=points, ... fields=["Ex", "Hy"], ... freqs=[200e12], ... name="point_cloud", ... )
Attributes
Number of points sampled by this monitor.
freqsapodizationuse_colocated_integrationnameMethods
storage_size(num_cells, tmesh)Size of monitor storage given the number of point-cloud samples.
- center#
- size#
- points#
- fields#
- interval_space#
- colocate#
- property num_points#
Number of points sampled by this monitor.