tidy3d.rf.DirectivityMonitorSpec#

class DirectivityMonitorSpec[source]#

Bases: MicrowaveBaseModel

Specification for automatically generating a DirectivityMonitor.

Parameters:
  • name (Optional[str] = None) – Optional name for the auto-generated monitor. If not provided, defaults to ‘radiation_’ + index of the monitor in the list of radiation monitors.

  • freqs (Optional[tuple[NonNegativeInt, ...]] = None) – Frequencies to obtain fields at. If not provided, uses all frequencies from the TerminalComponentModeler. Must be a subset of modeler frequencies if provided.

  • buffer (NonNegativeInt = 2) – Number of grid cells to maintain between monitor and PML/domain boundaries. Default: 2 cells.

  • num_theta_points (NonNegativeInt = 100) – Number of elevation angle (theta) sample points from 0 to π. Default: 100.

  • num_phi_points (NonNegativeInt = 200) – Number of azimuthal angle (phi) sample points from -π to π. Default: 200.

  • custom_origin (Optional[tuple[float, float, float]] = (0, 0, 0)) – [units = um]. Local origin used for defining observation points. If None, uses the monitor’s center.

Notes

When included in the TerminalComponentModeler.radiation_monitors tuple, a DirectivityMonitor will be automatically generated with the specified parameters. This allows users to mix manual DirectivityMonitor objects with automatically generated ones, each with customizable parameters.

The default origin (custom_origin) for defining observation points in the automatically generated monitor is set to (0, 0, 0) in the global coordinate system.

Example

>>> auto_monitor = DirectivityMonitorSpec(
...     name="custom_auto",
...     buffer=3,
...     num_theta_points=50,
...     num_phi_points=100
... )

Attributes

name#
freqs#
buffer#
num_theta_points#
num_phi_points#
custom_origin#